public SupplierContactEditModel CreateSupplierContact(SupplierContactEditModel model, List <Guid> locaGuidList, List <Guid> depaGuidList)
 {
     try
     {
         var contItem = ApplyChanges(model);
         if (model.SupplierContactID == Guid.Empty &&
             model.ItemAdding && !model.ItemDeleting)
         {
             model.SupplierContactID    = PrimeActs.Service.IDGenerator.NewGuid(_serverCode[0]);
             contItem.SupplierContactID = model.SupplierContactID;
             contItem.ObjectState       = ObjectState.Added;
             _supplierContactService.Insert(contItem);
             InsertSupplierContactLocation(contItem, locaGuidList);
             InsertSupplierContactDepartment(contItem, depaGuidList);
         }
         else if (!model.ItemAdding && !model.ItemDeleting)
         {
             contItem.ObjectState = ObjectState.Modified;
             _supplierContactService.Update(contItem);
             //UpdateSupplierContactLocation(contItem, locaGuidList);   /////////////////
             //UpdateSupplierContactDepartment(contItem, depaGuidList); ////////////////
         }
     }
     catch (Exception ex)
     {
         throw new ApplicationException("Creating Supplier Contact failed", ex);
     }
     return(model);
 }
        private Guid UpdateNote(SupplierContactEditModel model)
        {
            var note = _noteService.Find(model.NoteID.Value);

            note.NoteText        = model.Notes;
            note.NoteDescription = model.NoteDescription;
            note.ObjectState     = ObjectState.Modified;
            _noteService.Update(note);
            return(note.NoteID);
        }
        private Guid CreateNote(SupplierContactEditModel model)
        {
            var note = new Note
            {
                NoteID          = PrimeActs.Service.IDGenerator.NewGuid(_serverCode[0]),
                NoteText        = model.Notes,
                NoteDescription = model.NoteDescription,
                ObjectState     = ObjectState.Added
            };

            _noteService.Insert(note);
            return(note.NoteID);
        }
        public List <SupplierContactEditModel> BuildSupplierContactModels(List <SupplierContact> supplierContacts)
        {
            var list = new List <SupplierContactEditModel>();

            foreach (var item in supplierContacts)
            {
                var model = new SupplierContactEditModel();
                model.SupplierContactID = item.SupplierContactID;
                model.SupplierID        = item.SupplierID;
                model.SortOrder         = item.SortOrder.HasValue ? item.SortOrder.Value : Guid.Empty;
                model.ContactID         = item.ContactID;
                var contact = _contactService.GetContactById(item.ContactID);
                model.EmailAddress     = contact.EmailAddress;
                model.FirstName        = contact.FirstName;
                model.LastName         = contact.LastName;
                model.Title            = contact.Title;
                model.ContactType      = contact.ContactType;
                model.ContactReference = contact.ContactReference;
                model.DDITelephoneNo   = contact.DDITelephoneNo;
                model.MobileNo         = contact.MobileNo;
                model.NoteID           = contact.NoteID;
                model.Notes            = contact.NoteID.HasValue ? _noteService.Find(contact.NoteID.Value).NoteText : string.Empty;
                // setup LxbViewModel of ListBox
                var supplierContactLocations = _supplierContactLocationService.GetSupplierContactLocationListByConId(item.SupplierContactID);
                model.SelectedLocationIds = new List <string>();
                model.LbxLocationOptions  = new List <LbxViewModel>();
                foreach (var scl in supplierContactLocations)
                {
                    model.SelectedLocationIds.Add(scl.SupplierLocationID.ToString());
                    var lxbItem = new LbxViewModel();
                    lxbItem.Id    = scl.SupplierLocationID.ToString();
                    lxbItem.label = _supplierLocationService.GetSupplierLocationById(scl.SupplierLocationID).SupplierLocationName;
                    lxbItem.value = scl.SupplierLocationID.ToString();
                    model.LbxLocationOptions.Add(lxbItem);
                }
                var supplierContactDepartments = _supplierContactDepartmentService.GetSupplierContactDepartmentListByConId(item.SupplierContactID);
                model.SelectedDepartmentIds = new List <string>();
                model.LbxDepartmentOptions  = new List <LbxViewModel>();
                foreach (var scd in supplierContactDepartments)
                {
                    model.SelectedDepartmentIds.Add(scd.SupplierDepartmentID.ToString());
                    var lxbItem = new LbxViewModel();
                    lxbItem.Id    = scd.SupplierDepartmentID.ToString();
                    lxbItem.label = _supplierDepartmentService.SupplierDepartmentById(scd.SupplierDepartmentID).SupplierDepartmentName;
                    lxbItem.value = scd.SupplierDepartmentID.ToString();
                    model.LbxDepartmentOptions.Add(lxbItem);
                }
                list.Add(model);
            }
            return(list);
        }
 private Guid SaveContact(SupplierContactEditModel model)
 {
     if (!string.IsNullOrEmpty(model.FirstName) &&
         !string.IsNullOrEmpty(model.LastName))
     {
         if (model.ContactID == null || model.ContactID == Guid.Empty)
         {
             model.ContactID = CreateContact(model);
         }
         else
         {
             model.ContactID = UpdateContact(model);
         }
     }
     return(model.ContactID);
 }
        private SupplierContact ApplyChanges(SupplierContactEditModel model)
        {
            var _obj = new SupplierContact();

            _obj.SupplierContactID = model.SupplierContactID;
            _obj.SupplierID        = model.SupplierID;
            _obj.ContactID         = SaveContact(model);
            _obj.SortOrder         = model.SortOrder; /////////////--- ??? --- !!!
            _obj.CreatedDate       = !string.IsNullOrEmpty(model.CreatedDate)
                ? DateTime.Parse(model.CreatedDate)
                : DateTime.Now;
            _obj.CreatedBy   = _principal.Id;
            _obj.UpdatedDate = DateTime.Now;
            _obj.UpdatedBy   = _principal.Id;
            _obj.IsActive    = true;
            return(_obj);
        }
        private Guid UpdateContact(SupplierContactEditModel model)
        {
            var _noteId = SaveNote(model);
            var item    = _contactService.Find(model.ContactID);

            item.FirstName        = model.FirstName;
            item.LastName         = model.LastName;
            item.Title            = model.Title;
            item.ContactType      = model.ContactType;
            item.ContactReference = model.ContactReference;
            item.EmailAddress     = model.EmailAddress;
            item.DDITelephoneNo   = model.DDITelephoneNo;
            item.MobileNo         = model.MobileNo;
            item.NoteID           = _noteId;
            item.ObjectState      = ObjectState.Modified;
            _contactService.Update(item);
            return(item.ContactID);
        }
 private Guid?SaveNote(SupplierContactEditModel model)
 {
     if (string.IsNullOrEmpty(model.NoteDescription))
     {
         model.NoteDescription = "?!";  // <--- Paul Edwards
     }
     if (!string.IsNullOrEmpty(model.Notes))
     {
         if (model.NoteID == null || model.NoteID == Guid.Empty)
         {
             model.NoteID = CreateNote(model);
         }
         else
         {
             model.NoteID = UpdateNote(model);
         }
     }
     return(model.NoteID);
 }
        private Guid CreateContact(SupplierContactEditModel model)
        {
            var _noteId = SaveNote(model);
            var _obj    = new Contact
            {
                ContactID        = PrimeActs.Service.IDGenerator.NewGuid(_serverCode[0]),
                FirstName        = model.FirstName,
                LastName         = model.LastName,
                Title            = model.Title,
                ContactType      = model.ContactType,
                ContactReference = model.ContactReference,
                EmailAddress     = model.EmailAddress,
                DDITelephoneNo   = model.DDITelephoneNo,
                MobileNo         = model.MobileNo,
                NoteID           = _noteId,
                ObjectState      = ObjectState.Added
            };

            _contactService.Insert(_obj);
            return(_obj.ContactID);
        }