This question is locked. New answers and comments are not allowed.
Hi Telerik team,
I am working on sharepoint 2010 and would like to Use Silverlight Telerik Control(radScheduler).
I am Creatiing a WCF servie to rollup calendar list which return generica list of Appoiment objects.can i use this class in WCF Service or i need to create a Custom class with DataContract.
Please find the code
Please advise.
Ronak
I am working on sharepoint 2010 and would like to Use Silverlight Telerik Control(radScheduler).
I am Creatiing a WCF servie to rollup calendar list which return generica list of Appoiment objects.can i use this class in WCF Service or i need to create a Custom class with DataContract.
Please find the code
[ServiceBehavior] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class PublicEventsRollupService : IPublicEventsRollupService { public List<Appointment> GetAllPublicCalEvents() { SPWeb web = SPContext.Current.Web; DateTime startdate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1); string offset = startdate.Subtract(DateTime.Now).Days.ToString(); SPSiteDataQuery Query = new SPSiteDataQuery(); Query.Lists = "<Lists ServerTemplate=\"106\"/>"; Query.Webs = "<Webs Scope='Recursive' />"; Query.Query = "<OrderBy>" + "<FieldRef Name='EventDate' />" + "</OrderBy>" + "<Where>" + "<And>" + "<Geq><FieldRef Name='EndDate'/><Value Type='DateTime'><Today OffsetDays='" + offset + "' /></Value></Geq>" + "<Eq><FieldRef Name='Public'/><Value Type='Text'>1</Value></Eq>" + "</And>" + "</Where>"; Query.ViewFields += "<FieldRef Name='ID' />"; Query.ViewFields = "<FieldRef Name='Title' />"; Query.ViewFields += "<FieldRef Name='EventDate' />"; Query.ViewFields += "<FieldRef Name='EndDate' />"; Query.ViewFields += "<FieldRef Name='Location' />"; Query.ViewFields += "<FieldRef Name='Event_x0020_Description' />"; Query.ViewFields += "<FieldRef Name='fRecurrence' />"; Query.ViewFields += "<FieldRef Name='fAllDayEvent' />"; //Query.ViewFields += "<ProjectProperty Name=\"Title\" />"; Query.ViewFields += "<FieldRef Name='RecurrenceData' />"; Query.ViewFields += "<FieldRef Name='XMLTZone' />"; Query.ViewFields += "<FieldRef Name='EventType' />"; Query.ViewFields += "<FieldRef Name='MasterSeriesItemID' />"; Query.ViewFields += "<FieldRef Name='RecurrenceID' />"; DataTable events = web.GetSiteData(Query); List<Appointment> publicCalEvents = null; if (events != null && events.Rows.Count > 0) { publicCalEvents = new List<Appointment>(); // processRecurrenceEvents(events,publicCalEvents); processSingleEvents(events, publicCalEvents); } return publicCalEvents; } //Function to Process Each single event and Convert to RadScheduler Event private void processSingleEvents(DataTable allEvents, List<Appointment> singleEvents) { //Filter Datatable to get only Single events allEvents.DefaultView.RowFilter = "fRecurrence = '0'"; DataView singleEventsView = allEvents.DefaultView; DataTable singleEventsDT = singleEventsView.ToTable(); //Process Single Event and Create Telerik appoiment Object foreach (DataRow row in singleEventsDT.Rows) { Appointment regAppoiment = new Appointment(); regAppoiment.UniqueId = row["ID"].ToString(); regAppoiment.Subject = row["Title"].ToString(); regAppoiment.Start = Convert.ToDateTime(row["EventDate"]).ToLocalTime(); regAppoiment.End = Convert.ToDateTime(row["EndDate"]).ToLocalTime(); regAppoiment.IsAllDayEvent = Convert.ToBoolean(row["fAllDayEvent"].ToString()); regAppoiment.Body = row["Event_x0020_Description"].ToString(); regAppoiment.Location = row["Location"].ToString(); singleEvents.Add(regAppoiment); } }But i am getting following exception when try to browse service in browser after deploymnet.
An ExceptionDetail, likely created by IncludeExceptionDetailInFaults=true, whose value is: System.InvalidOperationException: An exception was thrown in a call to a WSDL export extension: System.ServiceModel.Description.DataContractSerializerOperationBehavior contract: http://tempuri.org/:IPublicEventsRollupService ----> System.TypeLoadException: Could not load type 'System.TimeZoneInfo' from assembly 'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. at System.Signature._GetSignature(SignatureStruct& signature, Void* pCorSig, Int32 cCorSig, IntPtr fieldHandle, IntPtr methodHandle, IntPtr declaringTypeHandle) at System.Signature..ctor(RuntimeMethodHandle methodHandle, RuntimeTypeHandle declaringTypeHandle) at System.Reflection.RuntimeMethodInfo.get_Signature() at System.Reflection.RuntimeMethodInfo.FetchNonReturnParameters() at System.Reflection.RuntimeMethodInfo.GetParameters() at System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper.ImportDataMembers() at System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper..ctor(Type type) at System.Runtime.Serialization.ClassDataContract..ctor(Type type) at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.CreateDataContract(Int32 id, RuntimeTypeHandle typeHandle, Type type) at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type) at System.Runtime.Serialization.ClassDataContract.ClassDataContractCriticalHelper..ctor(Type type) at System.Runtime.Serialization.ClassDataContract..ctor(Type type) at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.CreateDataContract(Int32 id, RuntimeTypeHandle typeHandle, Type type) at System.Runtime.Serialization.DataContract.DataContractCriticalHelper.GetDataContractSkipValidation(Int32 id, RuntimeTypeHandle typeHandle, Type type) at System.Runtime.Serialization.DataContractSet.GetDataContract(Type clrType) at System.Runtime.Serialization.DataContractSet.AddCollectionDataContract(CollectionDataContract collectionDataContract) at System.Runtime.Serialization.DataContractSet.Add(XmlQualifiedName name, DataContract dataContract) at System.Runtime.Serialization.DataContractSet.Add(Type type) at System.Runtime.Serialization.XsdDataContractExporter.Export(Type type) at System.ServiceModel.Description.MessageContractExporter.ExportType(Type type, String partName, String operationName, XmlSchemaType& xsdType) at System.ServiceModel.Description.DataContractSerializerMessageContractExporter.ExportBody(Int32 messageIndex, Object state) at System.ServiceModel.Description.MessageContractExporter.ExportMessage(Int32 messageIndex, Object state) at System.ServiceModel.Description.MessageContractExporter.ExportMessageContract() at System.ServiceModel.Description.WsdlExporter.CallExtension(WsdlContractConversionContext contractContext, IWsdlExportExtension extension) --- End of inner ExceptionDetail stack trace --- at System.ServiceModel.Description.WsdlExporter.CallExtension(WsdlContractConversionContext contractContext, IWsdlExportExtension extension) at System.ServiceModel.Description.WsdlExporter.CallExportContract(WsdlContractConversionContext contractContext) at System.ServiceModel.Description.WsdlExporter.ExportContract(ContractDescription contract) at System.ServiceModel.Description.WsdlExporter.ExportEndpoint(ServiceEndpoint endpoint, XmlQualifiedName wsdlServiceQName) at System.ServiceModel.Description.WsdlExporter.ExportEndpoints(IEnumerable`1 endpoints, XmlQualifiedName wsdlServiceQName) at System.ServiceModel.Description.ServiceMetadataBehavior.MetadataExtensionInitializer.GenerateMetadata() at System.ServiceModel.Description.ServiceMetadataExtension.EnsureInitialized() at System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.InitializationData.InitializeFrom(ServiceMetadataExtension extension) at System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.GetInitData() at System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.TryHandleDocumentationRequest(Message httpGetRequest, String[] queries, Message& replyMessage) at System.ServiceModel.Description.ServiceMetadataExtension.HttpGetImpl.ProcessHttpRequest(Message httpGetRequest) at SyncInvokeGet(Object , Object[] , Object[] ) at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc) at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage4(MessageRpc& rpc) at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet) Please advise.
Ronak