예제 #1
0
        public ActionResult Index(string cedula, string password)
        {
            if (/*cedula != null && password != null &&*/ cedula.Length != 0 && password.Length != 0)
            {
                Usuario usuarioIngresado = FachadaDistribuidora.BuscarUsuarioPorCi(cedula);
                if (usuarioIngresado != null)
                {
                    if (usuarioIngresado.Contrasenia == password)
                    {
                        Session["cedula"] = usuarioIngresado.Cedula;
                        Session["rol"]    = usuarioIngresado.Rol;
                        return(Redirect("/usuario/bienvenido"));
                    }
                    else
                    {
                        ViewBag.mensaje = "Las password no es correcta.";
                    }
                }
                else
                {
                    ViewBag.mensaje = "El Usuario no existe.";
                }
            }
            else
            {
                ViewBag.mensaje = "Los campos cedula y password no pueden ser nulos.";
            }

            return(View());
        }
        public ActionResult AltaProducto(Producto producto, string rut)
        {
            List <Cliente> listaClientes = new List <Cliente>();

            if (Session["rol"] != null)
            {
                listaClientes         = FachadaDistribuidora.TraerClientes();
                ViewBag.listaClientes = listaClientes;
                Cliente clienteAsociado = FachadaDistribuidora.TraerClientePorRut(rut);
                producto.Cliente = clienteAsociado;
                //controlar q peso sea > 0
                if (producto.PesoUnidad > 0 && producto.Nombre != null)
                {
                    bool exito = FachadaDistribuidora.AltaProducto(producto.Nombre, producto.Cliente, producto.PesoUnidad);
                    if (exito)
                    {
                        ViewBag.mensaje = "Producto agregado con exito";
                    }
                    else
                    {
                        ViewBag.mensaje = "Error";
                    }
                    return(View(producto));
                }
                else
                {
                    ViewBag.mensaje = "El peso debe ser superior a cero y el producto debe tener un nombre.";
                    return(View(producto));
                }
            }
            else
            {
                return(Redirect("/usuario/index"));
            }
        }
예제 #3
0
 public ActionResult Alta(Usuario nuevo)
 {
     if (Session["rol"].ToString() == "admin")
     {
         if (nuevo != null)
         {
             bool rolValido  = Dominio.Usuario.ValidarRol(nuevo.Rol);
             bool passValida = Dominio.Usuario.ValidatePassword(nuevo.Contrasenia);
             bool ciValida   = Dominio.Usuario.ValidateCedula(Convert.ToString(nuevo.Cedula));
             if (passValida && ciValida && rolValido)
             {
                 RepoUsuario repoUser  = new RepoUsuario();
                 Usuario     nuevoUser = repoUser.BuscarPorId(nuevo.Cedula);
                 if (nuevoUser == null)
                 {
                     bool exito = FachadaDistribuidora.AltaUsuario(nuevo.Cedula, nuevo.Contrasenia, nuevo.Rol);
                     if (exito)
                     {
                         ViewBag.mensaje = "El usuario ha sido creado con exito.";
                     }
                     else
                     {
                         ViewBag.mensaje = "Error.";
                     }
                 }
                 else
                 {
                     ViewBag.mensaje = "El usuario ya existe.";
                 }
             }
             else
             {
                 if (!ciValida)
                 {
                     ViewBag.mensaje = "Verifique que la cedula tenga 7 u 8 caracteres. ";
                 }
                 if (!passValida)
                 {
                     ViewBag.mensaje += "Verifique que su contrasenia sea de 6 caracteres, una letra en mayuscula, una letra en minuscula,y al menos un digito. ";
                 }
                 if (!rolValido)
                 {
                     ViewBag.mensaje += "Elija un rol para el usuario.";
                 }
             }
         }
         return(View(nuevo));
     }
     else
     {
         return(Redirect("/usuario/bienvenido"));
     }
 }
예제 #4
0
        public bool AltaImportacion(int cantidad, DateTime fechaIngreso, DateTime fechaSalidaPrevista, int idProd, decimal precioProducto)
        {
            RepoImportacion repoImp   = new RepoImportacion();
            Importacion     impoNueva = new Importacion()
            {
                FechaIngreso    = fechaIngreso,
                FechaSalida     = fechaSalidaPrevista,
                Producto        = FachadaDistribuidora.BuscarProductoPorId(Convert.ToString(idProd)),
                Cantidad        = cantidad,
                PrecioPorUnidad = precioProducto
            };
            bool exito = repoImp.Alta(impoNueva);

            return(exito);
        }
 public ActionResult AltaProducto()
 {
     if (Session["rol"] != null)
     {
         List <Cliente> listaClientes = new List <Cliente>();
         listaClientes = FachadaDistribuidora.TraerClientes();
         if (listaClientes != null)
         {
             ViewBag.listaClientes = listaClientes;
         }
         return(View());
     }
     else
     {
         return(Redirect("/usuario/index"));
     }
 }
        public ActionResult TraerProductos()
        {
            if (Session["rol"] != null)
            {
                #region Intento1
                Service1Client proxy = new Service1Client(); //este es el metodo con el que intentamos primero, y nos daba un error System.ServiceModel.EndpointNotFoundException
                proxy.Open();
                List <DTOProducto> listaDTOProd = proxy.TraerProductos().ToList();
                proxy.Close();
                List <ProductoViewModel> listaProd  = new List <ProductoViewModel>();
                List <Importacion>       listaImpor = FachadaDistribuidora.TraerImportaciones();
                foreach (DTOProducto dtoProd in listaDTOProd)
                {
                    int stockActual = 0;
                    foreach (Importacion impor1 in listaImpor)
                    {
                        if (impor1.Producto.Codigo == dtoProd.Codigo)
                        {
                            if (impor1.EsCalculable())
                            {
                                stockActual += impor1.Cantidad;
                            }
                        }
                    }
                    ProductoViewModel nuevoProd = new ProductoViewModel()
                    {
                        Codigo = dtoProd.Codigo,
                        Nombre = dtoProd.Nombre,
                        Stock  = stockActual
                    };
                    listaProd.Add(nuevoProd);
                }
                return(View(listaProd));

                #endregion
            }
            else
            {
                return(Redirect("/usuario/index"));
            }
        }
        public ActionResult Index(ImportacionViewModel importacionN, int id)
        {
            Producto productoImportado = FachadaDistribuidora.BuscarProductoPorId(Convert.ToString(id));

            ViewBag.NombreProd = productoImportado.Nombre;
            ViewBag.CodigoProd = productoImportado.Codigo;
            if (Session["rol"].ToString() == "deposito")
            {
                if (importacionN != null)
                {
                    if (importacionN.FechaSalidaPrevista > importacionN.FechaIngreso)
                    {
                        if (importacionN.Cantidad > 0 && importacionN.PrecioUnidad > 0)
                        {
                            Service1Client proxy = new Service1Client();
                            proxy.Open();
                            bool exito = proxy.AltaImportacion(importacionN.Cantidad, importacionN.FechaIngreso, importacionN.FechaSalidaPrevista, importacionN.CodigoProd, importacionN.PrecioUnidad);
                            ViewBag.Mensaje = "Exito";
                        }
                        else
                        {
                            ViewBag.Mensaje = "La cantidad de productos importados y su precio deben ser superior a cero.";
                        }
                    }
                    else
                    {
                        ViewBag.Mensaje = "La Fecha de Salida Prevista no puede ser anterior a la Fecha de Ingreso";
                    }
                }
                else
                {
                    ViewBag.Mensaje = "Error";
                }
                return(View(importacionN));
            }
            else
            {
                return(Redirect("/usuario/Index"));
            }
        }
예제 #8
0
 public ActionResult Alta(ClienteViewModel cliente)
 {
     if (cliente != null)
     {
         if (cliente.Nombre != null && cliente.AntiguedadFecha != null && cliente.Rut != null)
         {
             if (FachadaDistribuidora.TraerClientePorRut(cliente.Rut) == null)
             {
                 if (cliente.Nombre != "" && cliente.Rut.Length == 12)
                 {
                     bool exito = FachadaDistribuidora.AltaCliente(cliente.Rut, cliente.Nombre, cliente.AntiguedadFecha);
                     if (exito)
                     {
                         ViewBag.mensaje = "Cliente agregado con exito.";
                     }
                     else
                     {
                         ViewBag.mensaje = "Error, asegurese que el RUT tenga 12 digitos.";
                     }
                 }
                 else
                 {
                     ViewBag.mensaje = "Error, asegurse que el RUT tenga 12 digitos.";
                 }
             }
             else
             {
                 ViewBag.mensaje = "El cliente ya existe, ingrese otro RUT.";
             }
         }
         else
         {
             ViewBag.mensaje = "Error.";
         }
     }
     return(View(cliente));
 }
 public ActionResult Index(int id)
 {
     if (Session["rol"] != null)
     {
         if (Session["rol"].ToString() == "deposito")
         {
             Producto productoImportado = FachadaDistribuidora.BuscarProductoPorId(Convert.ToString(id));
             ViewBag.NombreProd = productoImportado.Nombre;
             ViewBag.CodigoProd = productoImportado.Codigo;
             //armar objeto ImportacionViewModel y pasarlo con parametro pal id
             ImportacionViewModel imporV = new ImportacionViewModel();
             imporV.CodigoProd = id;
             return(View(imporV));
         }
         else
         {
             return(Redirect("/usuario/Index"));
         }
     }
     else
     {
         return(Redirect("/usuario/Index"));
     }
 }
예제 #10
0
        public ActionResult GenerarArchivos()
        {
            if (Session["rol"].ToString() == null)
            {
                return(Redirect("/usuario/bienvenido"));
            }
            else
            {
                string rutaRaizAppWeb = HttpRuntime.AppDomainAppPath;
                string directorio     = "Archivos";

                //genera archivo clientes
                string stringCli = FachadaDistribuidora.GenerarArchivoCliente();

                string       archivoClientes = "clientes.txt";
                string       rutaCliente     = rutaRaizAppWeb + directorio + "\\" + archivoClientes;
                FileStream   fsCliente       = new FileStream(rutaCliente, FileMode.Create);
                StreamWriter swCliente       = new StreamWriter(fsCliente);
                swCliente.Write(stringCli);
                swCliente.Close();

                //genera archivo descuento
                string       stringDesc  = FachadaDistribuidora.GenerarArchivoDescuento();
                string       archivoDesc = "descuentos.txt";
                string       rutaDesc    = rutaRaizAppWeb + directorio + "\\" + archivoDesc;
                FileStream   fsDescuento = new FileStream(rutaDesc, FileMode.Create);
                StreamWriter swDescuento = new StreamWriter(fsDescuento);
                swDescuento.Write(stringDesc);
                swDescuento.Close();

                //genera archivo importacion
                string       stringImpo    = FachadaDistribuidora.GenerarArchivoImportacion();
                string       archivoImpo   = "importacion.txt";
                string       rutaImpo      = rutaRaizAppWeb + directorio + "\\" + archivoImpo;
                FileStream   fsImportacion = new FileStream(rutaImpo, FileMode.Create);
                StreamWriter swImportacion = new StreamWriter(fsImportacion);
                swImportacion.Write(stringImpo);
                swImportacion.Close();

                //genera archivo producto
                string       stringProd  = FachadaDistribuidora.GenerarArchivoProducto();
                string       archivoProd = "productos.txt";
                string       rutaProd    = rutaRaizAppWeb + directorio + "\\" + archivoProd;
                FileStream   fsProducto  = new FileStream(rutaProd, FileMode.Create);
                StreamWriter swProducto  = new StreamWriter(fsProducto);
                swProducto.Write(stringProd);
                swProducto.Close();

                //genera archivo usuario
                string       stringUsu  = FachadaDistribuidora.GenerarArchivoUsuario();
                string       archivoUsu = "usuarios.txt";
                string       rutaUsu    = rutaRaizAppWeb + directorio + "\\" + archivoUsu;
                FileStream   fsUsuario  = new FileStream(rutaUsu, FileMode.Create);
                StreamWriter swUsuario  = new StreamWriter(fsUsuario);
                swUsuario.Write(stringUsu);
                swUsuario.Close();



                ViewBag.Mensaje = "Exito";
                return(View());
            }
        }