// GET: Admin/AdminVenta
 public ActionResult Index()
 {
     try
     {
         var ventasP = new VentaProcess();
         var lista   = ventasP.Listar();
         return(View(lista));
     }
     catch (Exception ex)
     {
         Bitacora        bitacora  = new Bitacora("Listar Tabla Venta", ex.Message.ToString(), User.Identity.Name, DateTime.Now);
         BitacoraProcess bitacorap = new BitacoraProcess();
         bitacorap.Create(bitacora);
         return(View());
     }
 }
        // GET: Admin/Home
        public ActionResult Index()
        {
            var stockp            = new StockMateriaPrimaDepositoProcess();
            var reposicionp       = new ReposicionProcess();
            var ventap            = new VentaProcess();
            var producto          = new Producto();
            var productop         = new ProductoProcess();
            var materiaprima      = new MateriaPrima();
            var listaventas       = ventap.Listar();
            var listareposicion   = reposicionp.Listar();
            var listamateriaprima = new List <StockMateriaPrimaDeposito>();
            var listaproducto     = new List <MateriaPrimaProducto>();
            var productoMP        = new MateriaPrimaProducto();
            var listaauxiliar     = new List <MateriaPrimaProducto>();


            foreach (var item in listaventas)
            {
                totalrecaudado      = totalrecaudado + item.Monto;
                cantidaddeproductos = cantidaddeproductos + item.Pedido.Cantidad;
                if (listaproducto.Count() == 0)
                {
                    productoMP.Cantidad    = item.Pedido.Cantidad;
                    productoMP.CodProducto = item.Pedido.Codproducto;

                    listaproducto.Add(productoMP);
                }
                else
                {
                    int contador = 0;
                    var valor    = listaproducto.Count();
                    for (int i = 0; i < valor; i++)
                    {
                        var pd = listaproducto[i];

                        if (pd.CodProducto == item.Pedido.Codproducto)
                        {
                            pd.Cantidad = pd.Cantidad + item.Pedido.Cantidad;
                            contador    = 1;
                        }
                    }
                    if (contador == 0)
                    {
                        var nuevoprd = new MateriaPrimaProducto();
                        nuevoprd.Cantidad    = item.Pedido.Cantidad;
                        nuevoprd.CodProducto = item.Pedido.Codproducto;
                        listaproducto.Add(nuevoprd);
                        contador = 1;
                    }
                }
            }

            foreach (var item in listareposicion)
            {
                ganancia = ganancia + item.Monto;
                cantidaddemateriaprima = cantidaddemateriaprima + item.Cantidad;

                foreach (var itemST in stocktest)
                {
                    if (itemST.CodMateriaPrima == item.CodMateriaPrima)
                    {
                    }
                }
                if (stocktest.Count == 0)
                {
                    var stk = new StockMateriaPrimaDeposito();
                    stk.CodMateriaPrima = item.CodMateriaPrima;
                    stk.Cantidad        = item.Cantidad;
                }
            }



            foreach (var item in listaproducto)
            {
                if (item.Cantidad == listaproducto.Max(x => x.Cantidad))
                {
                    var prd = productop.GetByID(item.CodProducto);
                    mayorproducto = prd.Nombre;
                }
            }

            ViewBag.productomasvendido     = mayorproducto;
            ViewBag.cantidaddemateriaprima = cantidaddemateriaprima;
            ViewBag.cantidaddeproductos    = cantidaddeproductos;
            ViewBag.totalgastado           = ganancia;
            ViewBag.ganancianeta           = totalrecaudado - ganancia;
            ViewBag.totalrecaudado         = totalrecaudado;

            _loggingService.Log("message");

            return(View());
        }
Пример #3
0
        public ActionResult PagarUsuario(int id)
        {
            try
            {
                var pedidoP = new PedidoProcess();
                var ped     = pedidoP.GetByID(id);
                int salida  = 0;

                var depositoP     = new DepositoProcess();
                var deposito      = new Deposito();
                var listadeposito = depositoP.Listar();

                foreach (var item in listadeposito)
                {
                    deposito = item;
                }

                ped.Estado = "Pagado";



                var ventaP = new VentaProcess();
                var venta  = new Venta();

                var     usuariop      = new UsuarioProcess();
                Usuario usuario       = new Usuario();
                var     listausuarios = usuariop.Listar();

                foreach (var item in listausuarios)
                {
                    if (item.UserName == User.Identity.Name)
                    {
                        usuario = item;
                    }
                }

                var materiaprimaprodP     = new MateriaPrimaProductoProcess();
                var materiaprima          = new List <StockMateriaPrimaDeposito>();
                var listamateriaprimaprod = materiaprimaprodP.Listar();


                foreach (var item in listamateriaprimaprod)
                {
                    if (item.CodProducto == ped.Codproducto)
                    {
                        var mt = new StockMateriaPrimaDeposito();
                        mt.Cantidad        = item.Cantidad * ped.Cantidad;
                        mt.CodMateriaPrima = item.CodMateriaPrima;
                        materiaprima.Add(mt);
                    }
                }


                var stockP      = new StockMateriaPrimaDepositoProcess();
                var reposicionP = new ReposicionProcess();

                var       ProveedormateriaprimaP = new MateriaPrimaProveedorProcess();
                Proveedor proveedor = new Proveedor();

                var materiaprimaProveedor = new MateriaPrimaProveedorProcess();


                var listastockmateriaprima = stockP.Listar();

                foreach (var item in listastockmateriaprima)
                {
                    double valor1 = 0;
                    double valor2 = 0;
                    foreach (var itemMP in materiaprima)
                    {
                        if (item.CodMateriaPrima == itemMP.CodMateriaPrima)
                        {
                            if (item.Cantidad < itemMP.Cantidad)
                            {
                                var reposicion = new Reposicion();
                                reposicion.CodMateriaPrima = item.CodMateriaPrima;
                                reposicion.CodDeposito     = deposito.Id;
                                reposicion.Fecha           = DateTime.Now;
                                reposicion.Cantidad        = itemMP.Cantidad - item.Cantidad;
                                reposicion.Estado          = "Reposicion Compra";

                                foreach (var itemProveedor in ProveedormateriaprimaP.Listarpormateriaprima(itemMP.CodMateriaPrima))
                                {
                                    if (valor2 == 0)
                                    {
                                        reposicion.Proveedor    = itemProveedor.Proveedor;
                                        reposicion.CodProveedor = itemProveedor.Proveedor.Id;
                                        valor2 = 1;
                                    }
                                }

                                foreach (var itemPROV in materiaprimaProveedor.Listarpormateriaprima(itemMP.CodMateriaPrima))
                                {
                                    if (itemPROV.CodMateriaPrima == reposicion.CodMateriaPrima && itemPROV.CodProveedor == reposicion.CodProveedor)
                                    {
                                        valor1 = itemPROV.Precio;
                                    }
                                }
                                reposicion.Monto = valor1 * reposicion.Cantidad;
                                reposicionP.Crear(reposicion);
                                item.Cantidad = 0;
                                stockP.Edit(item);
                                salida = 1;
                            }
                            else
                            {
                                item.Cantidad = item.Cantidad - itemMP.Cantidad;
                                stockP.Edit(item);
                            }
                        }
                    }
                }

                venta.CodEmpleado = usuario.CodEmpleado;
                venta.CodPedido   = ped.Id;
                venta.Formadepago = "Efectivo";

                if (venta.Formadepago == "Efectivo" && ped.Comprador.SocioEstado == "Si")
                {
                    venta.Monto = ped.Monto * 0.90;
                }
                else
                {
                    if (venta.Formadepago == "Efectivo")
                    {
                        venta.Monto = ped.Monto * 0.95;
                    }
                    if (ped.Comprador.SocioEstado == "Si")
                    {
                        venta.Monto = ped.Monto * 0.95;
                    }
                }

                venta.Pagado = "Si";

                ped.Monto = venta.Monto;
                pedidoP.Editar(ped);

                var envioP = new EnvioProcess();
                var envio  = new Envio();

                envio.CodVenta       = ventaP.Crear(venta).Id;
                envio.Direccion      = ped.Comprador.Domicilio;
                envio.Estado         = "En Espera";
                envio.Fechadellegada = DateTime.Now;
                DateTime today = DateTime.Now;
                if (salida == 1)
                {
                    envio.Fechadesalida = today.AddDays(14);
                }
                else
                {
                    envio.Fechadesalida = today.AddDays(7);
                }


                envioP.Crear(envio);

                TempData["Message"] = Recursos.Recurso.pedido3;

                Bitacora        bitacora  = new Bitacora("Pagar", "Tabla Pedido", User.Identity.Name, DateTime.Now);
                BitacoraProcess bitacorap = new BitacoraProcess();
                bitacorap.Create(bitacora);


                return(RedirectToAction("IndexUsuario"));
            }
            catch (Exception ex)
            {
                Bitacora        bitacora  = new Bitacora("Pagar Tabla Pedido", ex.Message.ToString(), User.Identity.Name, DateTime.Now);
                BitacoraProcess bitacorap = new BitacoraProcess();
                bitacorap.Create(bitacora);
                return(View());
            }
        }