public static PersonWrapper ToPersonWrapperQuick(Person person) { var result = new PersonWrapper(person.ID); result.DisplayName = person.GetTitle(); result.IsPrivate = CRMSecurity.IsPrivate(person); result.IsShared = person.ShareType == ShareType.ReadWrite || person.ShareType == ShareType.Read; result.ShareType = person.ShareType; if (result.IsPrivate) { result.AccessList = CRMSecurity.GetAccessSubjectTo(person) .Select(item => EmployeeWraper.Get(item.Key)); } result.Currency = !String.IsNullOrEmpty(person.Currency) ? new CurrencyInfoWrapper(CurrencyProvider.Get(person.Currency)) : null; result.SmallFotoUrl = String.Format("{0}HttpHandlers/filehandler.ashx?action=contactphotoulr&cid={1}&isc={2}&ps=1", PathProvider.BaseAbsolutePath, person.ID, false).ToLower(); result.MediumFotoUrl = String.Format("{0}HttpHandlers/filehandler.ashx?action=contactphotoulr&cid={1}&isc={2}&ps=2", PathProvider.BaseAbsolutePath, person.ID, false).ToLower(); result.IsCompany = false; result.CanEdit = CRMSecurity.CanEdit(person); //result.CanDelete = CRMSecurity.CanDelete(contact); result.CreateBy = EmployeeWraper.Get(person.CreateBy); result.Created = (ApiDateTime)person.CreateOn; result.About = person.About; result.Industry = person.Industry; result.FirstName = person.FirstName; result.LastName = person.LastName; result.Title = person.JobTitle; return result; }
public PersonWrapper UpdatePerson( int personid, string firstName, string lastName, string jobTitle, int companyId, string about, ShareType shareType, IEnumerable<Guid> managerList, IEnumerable<ItemKeyValuePair<int, string>> customFieldList, IEnumerable<HttpPostedFileBase> photo) { if (personid <= 0 || string.IsNullOrEmpty(firstName) || string.IsNullOrEmpty(lastName)) throw new ArgumentException(); var peopleInst = new Person { ID = personid, FirstName = firstName, LastName = lastName, JobTitle = jobTitle, CompanyID = companyId, About = about, ShareType = shareType }; DaoFactory.GetContactDao().UpdateContact(peopleInst); peopleInst = (Person)DaoFactory.GetContactDao().GetByID(peopleInst.ID); var managerListLocal = managerList != null ? managerList.ToList() : new List<Guid>(); if (managerListLocal.Any()) { CRMSecurity.SetAccessTo(peopleInst, managerListLocal); } if (customFieldList != null) { var existingCustomFieldList = DaoFactory.GetCustomFieldDao().GetFieldsDescription(EntityType.Person).Select(fd => fd.ID).ToList(); foreach (var field in customFieldList) { if (string.IsNullOrEmpty(field.Value) || !existingCustomFieldList.Contains(field.Key)) continue; DaoFactory.GetCustomFieldDao().SetFieldValue(EntityType.Person, peopleInst.ID, field.Key, field.Value); } } var wrapper = (PersonWrapper)ToContactWrapper(peopleInst); var photoList = photo != null ? photo.ToList() : new List<HttpPostedFileBase>(); if (photoList.Any()) { wrapper.SmallFotoUrl = ChangeContactPhoto(peopleInst.ID, photoList); } MessageService.Send(Request, MessageAction.PersonUpdated, peopleInst.GetTitle()); return wrapper; }
public PersonWrapper CreatePerson( string firstName, string lastName, string jobTitle, int companyId, string about, ShareType shareType, IEnumerable<Guid> managerList, IEnumerable<ItemKeyValuePair<int, string>> customFieldList, IEnumerable<HttpPostedFileBase> photo) { if (companyId > 0) { var company = DaoFactory.GetContactDao().GetByID(companyId); if (company == null || !CRMSecurity.CanAccessTo(company)) throw new ItemNotFoundException(); } var peopleInst = new Person { FirstName = firstName, LastName = lastName, JobTitle = jobTitle, CompanyID = companyId, About = about, ShareType = shareType }; peopleInst.ID = DaoFactory.GetContactDao().SaveContact(peopleInst); peopleInst.CreateBy = Core.SecurityContext.CurrentAccount.ID; peopleInst.CreateOn = DateTime.UtcNow; var managerListLocal = managerList != null ? managerList.ToList() : new List<Guid>(); if (managerListLocal.Any()) { CRMSecurity.SetAccessTo(peopleInst, managerListLocal); } if (customFieldList != null) { foreach (var field in customFieldList) { if (string.IsNullOrEmpty(field.Value)) continue; DaoFactory.GetCustomFieldDao().SetFieldValue(EntityType.Person, peopleInst.ID, field.Key, field.Value); } } var wrapper = (PersonWrapper)ToContactWrapper(peopleInst); var photoList = photo != null ? photo.ToList() : new List<HttpPostedFileBase>(); if (photoList.Any()) { wrapper.SmallFotoUrl = ChangeContactPhoto(peopleInst.ID, photoList); } MessageService.Send(Request, MessageAction.PersonCreated, peopleInst.GetTitle()); return wrapper; }
public String AddNewContact(bool isCompany, string companyName, string firstName, string lastName) { if (isCompany) { var company = new Company { CompanyName = companyName.Trim() }; company.ID = Global.DaoFactory.GetContactDao().SaveContact(company); CRMSecurity.MakePublic(company); return JsonConvert.SerializeObject(new { id = company.ID, title = company.GetTitle().HtmlEncode(), img = ContactPhotoManager.GetSmallSizePhoto(company.ID, true) }); } else { var contact = new Person { FirstName = firstName.Trim(), LastName = lastName.Trim() }; contact.ID = Global.DaoFactory.GetContactDao().SaveContact(contact); CRMSecurity.MakePublic(contact); return JsonConvert.SerializeObject(new { id = contact.ID, title = contact.GetTitle().HtmlEncode(), img = ContactPhotoManager.GetSmallSizePhoto(contact.ID, false) }); } }