/// <summary>
        /// Retrieve one contact based on its Id
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public SubdistributorContact ContactRetrieve(int id = -1)
        {
            ResultManager.IsCorrect = false;
            //initial validations
            //-sys validations
            if (id == -1 || id == 0)
            {//no conatact id was received
                ResultManager.Add(ErrorDefault, Trace + "ContactRetrieve.131 No se recibio el id del contacto");
                return(null);
            }

            SubdistributorContact auxContact = null;

            try
            {
                auxContact = Repository.SubdistributorContacts.Get(id);
                if (auxContact == null)
                {
                    ResultManager.Add(ErrorDefault, Trace + "ContactRetrieve.511 No se encontró un contacto con id '" + id + "'");
                }
                else
                {
                    ResultManager.IsCorrect = true;
                }
            }
            catch (Exception ex)
            {
                ResultManager.Add(ErrorDefault, Trace + "ContactRetrieve.511 Excepción al obtener el contacto a editar: " + ex.Message);
            }

            return(auxContact);
        }
Example #2
0
        public ActionResult ContactEdit(SubdistributorContact model)
        {
            if (controller.ContactUpdate(model) || controller.ResultManager.IsCorrect)
            {
                NotifyUser(messageOk: "Contacto editado correctamente");
                return(RedirectToAction("ContactIndex", new { id = model.SubdistributorId }));
            }

            NotifyUser(resultManager: controller.ResultManager);
            return(View(model));
        }
Example #3
0
        public ActionResult ContactAdd(SubdistributorContact item)
        {
            if (controller.ContactAdd(item) || controller.ResultManager.IsCorrect)
            {
                NotifyUser(messageOk: "Contacto agregado correctamente");
                return(RedirectToAction("ContactIndex", new { id = item.SubdistributorId }));
            }

            ViewBag.SubdistributorId = item.SubdistributorId;
            NotifyUser(resultManager: controller.ResultManager);
            return(View(item));
        }
Example #4
0
        public ActionResult ContactEdit(int Id)
        {
            SubdistributorContact contactToEdit = controller.ContactRetrieve(Id);
            int subdistributorId = contactToEdit.SubdistributorId;

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

            NotifyUser(resultManager: controller.ResultManager);
            return(RedirectToAction("ContactIndex", new { id = subdistributorId }));
        }
Example #5
0
        public ActionResult ContactDelete(int Id)
        {
            SubdistributorContact contactToDelete = controller.ContactRetrieve(Id);
            int subdistributorId = contactToDelete.SubdistributorId;

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

            NotifyUser(resultManager: controller.ResultManager);
            return(RedirectToAction("ContactIndex", new { id = subdistributorId }));
        }
        public bool ContactUpdate(SubdistributorContact item)
        {
            ResultManager.IsCorrect = false;

            //initial validations
            //-sys validations
            if (item == null)
            {
                ResultManager.Add(ErrorDefault, Trace + "ContactUpdate.111 No se recibio el objeto del contacto a editar");
                return(false);
            }
            if (item.Id == -1 || item.Id == 0)
            {//no contact id was received
                ResultManager.Add(ErrorDefault, Trace + "ContactUpdate.131 No se recibio el id del contacto a editar");
                return(false);
            }
            //-business validations
            if (string.IsNullOrWhiteSpace(item.FullName))
            {
                ResultManager.Add("El nombre del contacto no puede estar vacio");
                return(false);
            }
            if (string.IsNullOrWhiteSpace(item.Role))
            {
                ResultManager.Add("El puesto no puede estar vacio");
                return(false);
            }
            if (IsMailAddressCurrentlyUsed(item.EMail))
            {
                ResultManager.Add(ErrorDefault, Trace + "La direccion de email '" + item.EMail + "' actualmente esta asignada a otro usuario, por favor ingresa una diferente.");
                return(false);
            }
            if (IsMailAddressCurrentlyUsed(item.AssistantEMail))
            {
                ResultManager.Add(ErrorDefault, Trace + "La direccion de email de asistente '" + item.AssistantEMail + "' actualmente esta asignada a otro usuario, por favor ingresa una diferente.");
                return(false);
            }

            //update item
            try
            {
                SubdistributorContact auxContact = Repository.SubdistributorContacts.Get(item.Id);
                if (auxContact == null)
                {
                    ResultManager.Add(ErrorDefault, Trace + "ContactUpdate.311 Contacto con id '" + item.Id + "' no encontrado en bd");
                    return(false);
                }
                //auxContact.SubdistributorId = item.SubdistributorId;
                //auxContact.Subdistributor = Repository.Subdistributors.Get(item.SubdistributorId);
                auxContact.FullName                        = item.FullName;
                auxContact.Role                            = item.Role;
                auxContact.PhoneNumber                     = item.PhoneNumber;
                auxContact.PhoneNumberExt                  = item.PhoneNumberExt;
                auxContact.CellPhone                       = item.CellPhone;
                auxContact.EMail                           = item.EMail;
                auxContact.AssistantFullName               = item.AssistantFullName;
                auxContact.AssistantPhoneNumber            = item.AssistantPhoneNumber;
                auxContact.AssistantPhoneNumberExt         = item.AssistantPhoneNumberExt;
                auxContact.AssistantCellPhone              = item.AssistantCellPhone;
                auxContact.AssistantEMail                  = item.AssistantEMail;
                auxContact.Cat_SubdistributorContactAreaId = item.Cat_SubdistributorContactAreaId;
                auxContact.SubdistributorContactArea       = Repository.SubdistributorContactAreas.Get(item.Cat_SubdistributorContactAreaId.HasValue
                                                                                                 ? item.Cat_SubdistributorContactAreaId.Value
                                                                                                 : 0);

                Repository.Complete();
                ResultManager.IsCorrect = true;
                return(true);
            }
            catch (Exception ex)
            {
                ResultManager.Add(ErrorDefault, Trace + "ContactUpdate.511 Excepción al editar el contacto con id '" + item.Id + "': " + ex.Message);
            }
            return(false);
        }