//get contact list by type public GetListResponse<Contact> GetContactList(IDRequest request) { var response = new GetListResponse<Contact>(); response.List = new List<Contact>(); try { var db = ImardaDatabase.CreateDatabase(Util.GetConnName<Contact>()); string spName = "SPGetContactList"; byte type = 0; if (request.ContainsKey("Type")) type = byte.Parse(request["Type"]); int size = 0; if (request.ContainsKey("TopN")) int.TryParse(request["TopN"], out size); bool includeInactive = request.HasSome(RetrievalOptions.IncludeInactive); Guid id = request.ID; var args = new object[] { includeInactive, id, type }; using (IDataReader dr = db.ExecuteDataReader(spName, args)) { while (dr.Read()) response.List.Add(GetFromData<Contact>(dr)); if (size > 0 && response.List.Count > size) { response.List.RemoveRange(size - 1, response.List.Count - size); } return response; } } catch (Exception ex) { return ErrorHandler.Handle<GetListResponse<Contact>>(ex); } }
public GetListResponse<SMSPending> GetSMSPendingList(IDRequest request) { var result = new GetListResponse<SMSPending>(); try { var db = ImardaDatabase.CreateDatabase(Util.GetConnName<SMSPending>()); int numRecords = 100; //process 100 SMS at a time if (request.ContainsKey("NumRecords")) //! IM-2342 int.TryParse(request["NumRecords"], out numRecords); object[] args = new object[] { numRecords }; using (IDataReader dr = db.ExecuteDataReader("SPGetSMSPendingList", args)) { while (dr.Read()) { result.List.Add(GetFromData<SMSPending>(dr)); } return result; } } catch (Exception ex) { return ErrorHandler.Handle<GetListResponse<SMSPending>>(ex); } }
public BusinessMessageResponse DeleteContact(IDRequest request) { try { BusinessMessageResponse appResponse = null; var service = ImardaProxyManager.Instance.IImardaCRMProxy; ChannelInvoker.Invoke(delegate(out IClientChannel channel) { channel = service as IClientChannel; var response = service.DeleteContact(request); ErrorHandler.Check(response); if (!request.ContainsKey("contactType") || !((int)Contact.ContactType.ContactPerson).ToString().Equals(request["contactType"])) { response = service.DeleteContactRelatedPersons(request); ErrorHandler.Check(response); } appResponse = response; }); return appResponse; } catch (Exception ex) { return ErrorHandler.Handle<BusinessMessageResponse>(ex); } }