예제 #1
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var cliente = _dbContext.Clientes
                          .SingleOrDefault(ct => ct.ClienteId == id);

            if (cliente == null)
            {
                return(HttpNotFound());
            }

            emailAnterior            = cliente.Email;
            Session["emailAnterior"] = emailAnterior;
            ClienteEditViewModel clienteVm = Mapper
                                             .Map <Cliente, ClienteEditViewModel>(cliente);

            clienteVm.Paises   = CombosHelper.GetPaises();
            clienteVm.Ciudades = CombosHelper.GetCiudades(clienteVm.PaisId);

            return(View(clienteVm));
        }
예제 #2
0
        public ActionResult Create(ProveedorEditViewModel proveedorVm)
        {
            if (!ModelState.IsValid)
            {
                proveedorVm.Paises   = CombosHelper.GetPaises();
                proveedorVm.Ciudades = CombosHelper.GetCiudades(proveedorVm.PaisId);

                return(View(proveedorVm));
            }

            var proveedor = Mapper.Map <ProveedorEditViewModel, Proveedor>(proveedorVm);

            if (!_dbContext.Proveedores.Any(ct => ct.NombreCompania == proveedor.NombreCompania))
            {
                _dbContext.Proveedores.Add(proveedor);
                _dbContext.SaveChanges();
                TempData["Msg"] = "Registro agregado";

                return(RedirectToAction("Index"));
            }
            proveedorVm.Paises   = CombosHelper.GetPaises();
            proveedorVm.Ciudades = CombosHelper.GetCiudades(proveedorVm.PaisId);

            ModelState.AddModelError(string.Empty, "Registro repetido...");
            return(View(proveedorVm));
        }
예제 #3
0
        public ActionResult Edit(ClienteEditViewModel clienteVm)
        {
            if (!ModelState.IsValid)
            {
                return(View(clienteVm));
            }

            var cliente = Mapper.Map <ClienteEditViewModel, Cliente>(clienteVm);

            clienteVm.Paises   = CombosHelper.GetPaises();
            clienteVm.Ciudades = CombosHelper.GetCiudades(clienteVm.PaisId);
            if (_dbContext.Clientes.Any(ct => ct.NombreCliente == cliente.NombreCliente &&
                                        ct.ClienteId != cliente.ClienteId))
            {
                clienteVm.Paises   = CombosHelper.GetPaises();
                clienteVm.Ciudades = CombosHelper.GetCiudades(clienteVm.PaisId);

                ModelState.AddModelError(string.Empty, "Registro repetido");
                return(View(clienteVm));
            }

            if (Session["emailAnterior"] != null)
            {
                emailAnterior = (string)Session["emailAnterior"];
            }

            using (var tran = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    _dbContext.Entry(cliente).State = EntityState.Modified;
                    _dbContext.SaveChanges();
                    if (emailAnterior == null)
                    {
                        UsersHelper.CreateUserAsp(cliente.Email, "Cliente");
                    }
                    else if (emailAnterior != cliente.Email)
                    {
                        UsersHelper.UpdateUserName(emailAnterior, cliente.Email);
                    }

                    tran.Commit();
                    Session["emailAnterior"] = null;

                    TempData["Msg"] = "Registro editado";
                    return(RedirectToAction("Index"));
                }
                catch (Exception e)
                {
                    tran.Rollback();
                    clienteVm.Paises   = CombosHelper.GetPaises();
                    clienteVm.Ciudades = CombosHelper.GetCiudades(clienteVm.PaisId);

                    ModelState.AddModelError(string.Empty, "Error inesperado al intentar editar un registro");
                    return(View(clienteVm));
                }
            }
        }
예제 #4
0
        // GET: Clientes/Create
        public ActionResult Create()
        {
            var clienteVm = new ClienteEditViewModel
            {
                Paises   = CombosHelper.GetPaises(),
                Ciudades = CombosHelper.GetCiudades()
            };

            return(View(clienteVm));
        }
예제 #5
0
        // GET: Proveedores/Create
        public ActionResult Create()
        {
            var proveedorVm = new ProveedorEditViewModel
            {
                Paises   = CombosHelper.GetPaises(),
                Ciudades = CombosHelper.GetCiudades()
            };

            return(View(proveedorVm));
        }
예제 #6
0
        public ActionResult Create(ClienteEditViewModel clienteVm)
        {
            if (!ModelState.IsValid)
            {
                clienteVm.Paises   = CombosHelper.GetPaises();
                clienteVm.Ciudades = CombosHelper.GetCiudades(clienteVm.PaisId);

                return(View(clienteVm));
            }

            var cliente = Mapper.Map <ClienteEditViewModel, Cliente>(clienteVm);

            if (_dbContext.Clientes.Any(ct => ct.NombreCliente == cliente.NombreCliente ||
                                        ct.Email == cliente.Email))
            {
                clienteVm.Paises   = CombosHelper.GetPaises();
                clienteVm.Ciudades = CombosHelper.GetCiudades(clienteVm.PaisId);

                ModelState.AddModelError(string.Empty, "Registro repetido...");
                return(View(clienteVm));
            }

            using (var tran = _dbContext.Database.BeginTransaction())
            {
                try
                {
                    _dbContext.Clientes.Add(cliente);
                    _dbContext.SaveChanges();

                    UsersHelper.CreateUserAsp(cliente.Email, "Cliente");
                    tran.Commit();
                    TempData["Msg"] = "Registro agregado";

                    return(RedirectToAction("Index"));
                }
                catch (Exception)
                {
                    tran.Rollback();
                    clienteVm.Paises   = CombosHelper.GetPaises();
                    clienteVm.Ciudades = CombosHelper.GetCiudades(clienteVm.PaisId);

                    ModelState.AddModelError(string.Empty, "Registro repetido...");
                    return(View(clienteVm));
                }
            }
        }
예제 #7
0
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            var proveedor = _dbContext.Proveedores
                            .SingleOrDefault(ct => ct.ProveedorId == id);

            if (proveedor == null)
            {
                return(HttpNotFound());
            }

            ProveedorEditViewModel proveedorVm = Mapper
                                                 .Map <Proveedor, ProveedorEditViewModel>(proveedor);

            proveedorVm.Paises   = CombosHelper.GetPaises();
            proveedorVm.Ciudades = CombosHelper.GetCiudades(proveedorVm.PaisId);

            return(View(proveedorVm));
        }
예제 #8
0
        public ActionResult Edit(ProveedorEditViewModel proveedorVm)
        {
            if (!ModelState.IsValid)
            {
                return(View(proveedorVm));
            }

            var proveedor = Mapper.Map <ProveedorEditViewModel, Proveedor>(proveedorVm);

            proveedorVm.Paises   = CombosHelper.GetPaises();
            proveedorVm.Ciudades = CombosHelper.GetCiudades(proveedorVm.PaisId);

            try
            {
                if (_dbContext.Proveedores.Any(ct => ct.NombreCompania == proveedor.NombreCompania &&
                                               ct.ProveedorId != proveedor.ProveedorId))
                {
                    proveedorVm.Paises   = CombosHelper.GetPaises();
                    proveedorVm.Ciudades = CombosHelper.GetCiudades(proveedorVm.PaisId);

                    ModelState.AddModelError(string.Empty, "Registro repetido");
                    return(View(proveedorVm));
                }
                _dbContext.Entry(proveedor).State = EntityState.Modified;
                _dbContext.SaveChanges();
                TempData["Msg"] = "Registro editado";
                return(RedirectToAction("Index"));
            }
            catch (Exception e)
            {
                proveedorVm.Paises   = CombosHelper.GetPaises();
                proveedorVm.Ciudades = CombosHelper.GetCiudades(proveedorVm.PaisId);

                ModelState.AddModelError(string.Empty, "Error inesperado al intentar editar un registro");
                return(View(proveedorVm));
            }
        }