public async Task UpdateAddressAndContacts(Action <ProfileUpdateBuilder> setup)
        {
            UpdateAddressAndContactsRequest request =
                setup.CreateTargetAndInvoke().SetServiceConsumer(_settings.Consumer).Build();

            DistributorProfile profile = await GetProfile(request.DistributorId);

            if (request.Address != null)
            {
                DistributorAddress addressToUpdate = profile.Shipping?.Addresses?.FirstOrDefault(x => x.Type.Equals(request.Address.Type, StringComparison.InvariantCultureIgnoreCase));
                if (addressToUpdate != null)
                {
                    request.Address.FillInWithUnspecifiedData(addressToUpdate);
                }
                else
                {
                    request.Address = null;  // We're not allowed to create new address
                }
            }

            if (request.Contact != null)
            {
                DistributorContact contactToUpdate = profile.Shipping?.Contacts?.FirstOrDefault(x => x.Type.Equals(request.Contact.Type, StringComparison.InvariantCultureIgnoreCase));
                if (contactToUpdate != null)
                {
                    request.Contact.FillInWithUnspecifiedData(contactToUpdate);
                }
                else
                {
                    request.Contact = null;  // We're not allowed to create new contact
                }
            }

            object response = await _proxy.UpdateDsAddressContacts.POSTAsync(request);
        }
        public ActionResult ContactEdit(DistributorContact model)
        {
            if (controller.ContactUpdate(model) || controller.ResultManager.IsCorrect)
            {
                NotifyUser(messageOk: "Contacto editado correctamente");
                return(RedirectToAction("ContactIndex", new { id = model.DistributorId }));
            }

            NotifyUser(resultManager: controller.ResultManager);
            return(View(model));
        }
        public ActionResult ContactAdd(DistributorContact item)
        {
            if (controller.ContactAdd(item) || controller.ResultManager.IsCorrect)
            {
                var distributorId = (int)TempData["distributorId"];

                return(RedirectToAction("ContactIndex", new { id = item.DistributorId }));
            }

            NotifyUser(resultManager: controller.ResultManager);
            return(View(item));
        }
        public ActionResult ContactDelete(int Id)
        {
            DistributorContact contactToDelete = controller.ContactRetrieve(Id);
            int distributorId = contactToDelete.DistributorId;

            if (controller.ContactDelete(Id) || controller.ResultManager.IsCorrect)
            {
                NotifyUser(messageOk: "Contacto eliminado correctamente");
                return(RedirectToAction("ContactIndex", new { id = distributorId }));
            }

            NotifyUser(resultManager: controller.ResultManager);
            return(RedirectToAction("ContactIndex", new { id = distributorId }));
        }
        public ActionResult ContactEdit(int Id)
        {
            DistributorContact contactToEdit = controller.ContactRetrieve(Id);
            Distributor        distributor   = controller.RetrieveDistributor(contactToEdit.DistributorId);

            ViewBag.DistributorName = distributor.SelectItemName;
            int distributorId = contactToEdit.DistributorId;

            if (controller.ResultManager.IsCorrect)
            {
                return(View(contactToEdit));
            }

            NotifyUser(resultManager: controller.ResultManager);
            return(RedirectToAction("ContactIndex", new { id = distributorId }));
        }
Example #6
0
 public override void MakeSchemaCompliant()
 {
     base.MakeSchemaCompliant();
     DistributorContact.MakeSchemaCompliant();
 }