Ejemplo n.º 1
0
        public Cat_Zone ZoneRetrieve(int id = -1)
        {
            ResultManager.IsCorrect = false;
            //initial validations
            //-sys validations
            if (id == -1 || id == 0)
            {//no zone id was received
                ResultManager.Add(ErrorDefault, Trace + "ZoneRetrieve.131 No se recibio el id de la zona");
                return(null);
            }

            Cat_Zone auxZone = null;

            try
            {
                auxZone = Repository.Zones.Get(id);
                if (auxZone == null)
                {
                    ResultManager.Add(ErrorDefault, Trace + "ZoneRetrieve.511 No se encontró una zona con id '" + id + "'");
                }
                else
                {
                    ResultManager.IsCorrect = true;
                }
            }
            catch (Exception ex)
            {
                ResultManager.Add(ErrorDefault, Trace + "ZoneRetrieve.511 Excepción al obtener la zona a editar: " + ex.Message);
            }

            return(auxZone);
        }
Ejemplo n.º 2
0
        public ActionResult ZoneEdit(int Id)
        {
            ViewBag.AddressStates = AddressStates();

            Cat_Zone zoneToEdit = controller.ZoneRetrieve(Id);

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

            NotifyUser(resultManager: controller.ResultManager);
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 3
0
        public bool ZoneAdd(Cat_Zone item)
        {
            ResultManager.IsCorrect = false;

            //initial validations
            //-sys validations
            if (item == null)
            {
                ResultManager.Add(ErrorDefault, Trace + "ZoneAdd.111 No se recibio el objeto de la zona a agregar");
                return(false);
            }
            //-business validations
            if (string.IsNullOrWhiteSpace(item.Name))
            {
                ResultManager.Add("El nombre de la zona no puede estar vacio");
                return(false);
            }

            //insert new item
            try
            {
                Cat_Zone auxZone = new Cat_Zone();
                auxZone.Name       = item.Name;
                auxZone.RegionName = item.RegionName;
                Repository.Zones.Add(auxZone);
                Repository.Complete();

                // update AddressMunicipality table
                foreach (AddressMunicipality municipality in item.AddressMunicipalities)
                {
                    AddressMunicipality aux = Repository.AddressMunicipalities
                                              .GetAll()
                                              .Where(x => x.Id == municipality.Id)
                                              .FirstOrDefault();
                    aux.Cat_ZoneId = auxZone.Id;
                }
                Repository.Complete();

                ResultManager.IsCorrect = true;
                return(true);
            }
            catch (Exception ex)
            {
                ResultManager.Add(ErrorDefault, Trace + "ZoneAdd.511 Excepción al agregar la zona nombre '" + item.Name + "': " + ex.Message);
            }
            return(false);
        }
Ejemplo n.º 4
0
        public bool ZoneUpdate(Cat_Zone item)
        {
            ResultManager.IsCorrect = false;

            //initial validations
            //-sys validations
            if (item == null)
            {
                ResultManager.Add(ErrorDefault, Trace + "ZoneEdit.111 No se recibio el objeto zona a editar");
                return(false);
            }
            if (item.Id == -1 || item.Id == 0)
            {//no crop id was received
                ResultManager.Add(ErrorDefault, Trace + "ZoneEdit.131 No se recibio el id de la zona a editar");
                return(false);
            }
            //-business validations
            if (string.IsNullOrWhiteSpace(item.Name))
            {
                ResultManager.Add("El nombre de la zona no puede estar vacio");
                return(false);
            }

            //update item
            try
            {
                Cat_Zone auxZone = Repository.Zones.Get(item.Id);
                if (auxZone == null)
                {
                    ResultManager.Add(ErrorDefault, Trace + "ZoneEdit.311 Zona con id '" + item.Id + "' no encontrado en bd");
                    return(false);
                }
                auxZone.Name       = item.Name;
                auxZone.RegionName = item.RegionName;

                // first remove municipalities related to this zone
                List <AddressMunicipality> auxMunicipalities = Repository.AddressMunicipalities
                                                               .GetAll()
                                                               .Where(x => x.Cat_ZoneId == item.Id)
                                                               .ToList();

                foreach (AddressMunicipality municipality in auxMunicipalities)
                {
                    municipality.Cat_ZoneId = null;
                }

                // update AddressMunicipality table
                foreach (AddressMunicipality municipality in item.AddressMunicipalities)
                {
                    AddressMunicipality aux = Repository.AddressMunicipalities
                                              .GetAll()
                                              .Where(x => x.Id == municipality.Id)
                                              .FirstOrDefault();
                    aux.Cat_ZoneId = auxZone.Id;
                }

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