private CasesWrapper ToCasesWrapper(Cases cases) { var casesWrapper = new CasesWrapper(cases) { CustomFields = DaoFactory .CustomFieldDao .GetEnityFields(EntityType.Case, cases.ID, false) .ConvertAll(item => new CustomFieldBaseWrapper(item)) .ToSmartList(), Members = new List <ContactBaseWrapper>() }; var memberIDs = DaoFactory.CasesDao.GetMembers(cases.ID); var membersList = DaoFactory.ContactDao.GetContacts(memberIDs); var membersWrapperList = new List <ContactBaseWrapper>(); foreach (var member in membersList) { if (member == null) { continue; } membersWrapperList.Add(ToContactBaseWrapper(member)); } casesWrapper.Members = membersWrapperList; return(casesWrapper); }
private Cases FromCasesWrapper(CasesWrapper casesWrapper) { return(new Cases { Title = casesWrapper.Title, IsClosed = casesWrapper.IsClosed, CreateOn = casesWrapper.Created, CreateBy = casesWrapper.CreateBy.Id }); }
private IEnumerable <CasesWrapper> ToListCasesWrappers(ICollection <Cases> items) { if (items == null || items.Count == 0) { return(new List <CasesWrapper>()); } var result = new List <CasesWrapper>(); var contactIDs = new List <int>(); var casesIDs = items.Select(item => item.ID).ToArray(); var customFields = DaoFactory.GetCustomFieldDao().GetEnityFields(EntityType.Case, casesIDs) .GroupBy(item => item.EntityID) .ToDictionary(item => item.Key, item => item.Select(x => ToCustomFieldBaseWrapper(x))); var casesMembers = DaoFactory.GetCasesDao().GetMembers(casesIDs); foreach (var value in casesMembers.Values) { contactIDs.AddRange(value); } var contacts = DaoFactory.GetContactDao().GetContacts(contactIDs.Distinct().ToArray()) .ToDictionary(item => item.ID, item => ToContactBaseWrapper(item)); foreach (var cases in items) { var casesWrapper = new CasesWrapper(cases); if (customFields.ContainsKey(cases.ID)) { casesWrapper.CustomFields = customFields[cases.ID]; } else { casesWrapper.CustomFields = new List <CustomFieldBaseWrapper>(); } if (casesMembers.ContainsKey(cases.ID)) { casesWrapper.Members = casesMembers[cases.ID].Where(contacts.ContainsKey).Select(item => contacts[item]); } else { casesWrapper.Members = new List <ContactBaseWrapper>(); } result.Add(casesWrapper); } return(result); }
private CasesWrapper ToCasesWrapper(Cases cases) { var casesWrapper = new CasesWrapper(cases); casesWrapper.CustomFields = DaoFactory.GetCustomFieldDao() .GetEnityFields(EntityType.Case, cases.ID, false) .ConvertAll(item => new CustomFieldWrapper(item)).ToSmartList(); casesWrapper.Members = new List <ContactBaseWrapper>(); var memberIDs = DaoFactory.GetCasesDao().GetMembers(cases.ID); var membersList = new List <ContactBaseWrapper>(); foreach (var contactID in memberIDs) { if (contactID == 0) { continue; } var contact = DaoFactory.GetContactDao().GetByID(contactID); if (contact == null) { continue; } membersList.Add(ToContactBaseWrapper(contact)); } casesWrapper.Members = membersList; return(casesWrapper); }