using EnVisage; using EnVisage.Code.BLL; using EnVisage.Models; using PrevuWebAPI.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PrevuWebAPI.Code.Managers { public class APIInternalContactsManager : BaseManager { ContactManager _manager = new ContactManager(PrevuEFContext.PrevuEntity); public APIClientCallBackManager _callBackManager = new APIClientCallBackManager(); public List GetContacts(Guid ProjectId) { List results = new List(); var list = _manager.GetContacts(ProjectId); foreach (ContactModel m in list) { if (m.Type == EnVisage.Code.ContactType.CompanyContact) results.Add(GetAPIModel(m)); } return results; } private APIContactModel GetAPIModel(ContactModel m) { var model = new APIContactModel() { FirstName = m.FirstName, LastName = m.LastName }; return model; } public List ValidateContacts(List contacts) { List results = new List(); if (contacts == null) contacts = new List(); foreach (APIContactModel contact in contacts) { var c = _manager.GetContactByName(contact.FirstName,contact.LastName, EnVisage.Code.ContactType.CompanyContact ); if (c == null || c.Id == Guid.Empty) { c = _callBackManager.GetInternalContactInfoFromClient(contact.FirstName,contact.LastName); var cd = _manager.Save(c); results.Add(cd.Id); } else results.Add(c.Id); } return results; } } }