/// <summary>
        /// Inserta una venta
        /// </summary>
        /// <param name="venta">Venta a insertar</param>
        /// <returns>Venta insertado</returns>
        public JsonResult InsertarVenta(Venta venta)
        {
            VentaManager manager = new VentaManager(ConfigurationManager.ConnectionStrings["homecenter"].ConnectionString);

            venta = manager.Insertar(venta);
            return(new JsonResult()
            {
                Data = venta
            });
        }
        public ActionResult RecepcionDetails(decimal id)
        {
            var usuario = (USUARIO)Session["usuario"];

            ViewBag.session = usuario.NOMBREUSUARIO;
            var ventaM      = new VentaManager();
            var productosOr = ventaM.GetProductByOrden(id);
            var pago        = collection.GetPago(id);

            ViewBag.productos = ventaM.GetProductsWithCantidadAndPrecioToResumenVenta(productosOr);
            return(View(pago));
        }
        public ActionResult ShowCotizacion(decimal id)
        {
            var ventaM        = new VentaManager();
            var productosOr   = ventaM.GetProductByOrden(id);
            var listaProducto = ventaM.GetProductsWithCantidadAndPrecioToResumenVenta(productosOr);
            var costoTotal    = ventaM.GetCostoTotalProductsOrdesToCotizacion(id);
            var Orden         = collection.GetOrdenByOrdenId(id);

            ViewBag.costoTotal = costoTotal;
            ViewBag.orden      = Orden;
            return(View(listaProducto));
        }
Beispiel #4
0
        public JsonResult GenerarVentaLocal(List <ProcesoVentaViewModel> productventa)
        {
            var ventaM    = new VentaManager();
            var generarv  = ventaM.InsertNewVentaLocal(productventa);
            var clientes  = collection.GetClienteOfVentaLocal(generarv.PROCESOVENTA_IDPROCESOVENTA);
            var productos = new List <PRODUCTO>();

            foreach (var item in clientes)
            {
                productos = collection.GetProductosCompraLocalAccordingToCliente(item.CLIENTEINTERNO, generarv.PROCESOVENTA_IDPROCESOVENTA);
                var cliente    = collection.GetClienteByClienteInterno(item.CLIENTEINTERNO);
                var costoTotal = collection.CostoTotalCompraLocal(productos);

                string productosC = string.Empty;

                string datosTransferencia = "<table><tr><td>Banco:</td><td>" + "&nbsp;" + "Banco Chile" + "</td></tr>" +
                                            "<tr><td>N° Cuenta:</td><td>" + "&nbsp;" + "000267789-67899" + "</td></tr>" +
                                            "<tr><td>Nombre Titular:</td><td>" + "&nbsp;" + "Maipo Grande" + "</td></tr></table>";

                foreach (var item2 in productos)
                {
                    productosC = productosC + "<br/><hr/>" + "<table><tr><td>Producto:</td><td>" + "&nbsp;" + item2.DESCRIPCION + "</td></tr>" +
                                 "<tr><td>Cantidad Solicitada:</td><td>" + "&nbsp;" + item2.CANTIDAD.ToString() + "</td></tr>" +
                                 "<tr><td>Precio:</td><td>" + "&nbsp;" + "$" + item2.PRECIO.ToString() + "</td></tr></table>";
                }

                string body = "<p>Estimado(a)" + " " + cliente.NOMBRE + " " + "los costos correspondientes a su compra numero" + " " + generarv.PROCESOVENTA_IDPROCESOVENTA.ToString() + " " + "son: </p>"
                              + productosC + " " + "<br/>" + "<table><tr><td><strong>Costo Total:</strong></td><td>" + "&nbsp;" + "<strong>$</strong>" + "<strong>" + costoTotal.ToString() + "</strong>" + "</td></tr></table>" +
                              "<br/>" + "Los datos para la tranferencia son: " + "<br/>" + datosTransferencia;

                MailMessage correo = new MailMessage();
                correo.From = new MailAddress("*****@*****.**");
                correo.To.Add(cliente.CORREO);
                correo.Subject    = "Factura de Compra";
                correo.Body       = body;
                correo.IsBodyHtml = true;
                correo.Priority   = MailPriority.Normal;

                SmtpClient smtp = new SmtpClient();
                smtp.Host                  = "smtp.gmail.com";
                smtp.Port                  = 25;
                smtp.EnableSsl             = true;
                smtp.UseDefaultCredentials = true;
                string mycorreo = "*****@*****.**";
                string password = "******";
                smtp.Credentials = new System.Net.NetworkCredential(mycorreo, password);

                smtp.Send(correo);
            }

            return(Json(productventa));
        }
        public ActionResult Pagar(decimal id)
        {
            var usuario = (USUARIO)Session["usuario"];

            ViewBag.session = usuario.NOMBREUSUARIO;
            var ventaM         = new VentaManager();
            var productosOr    = ventaM.GetProductByOrden(id);
            var procesoByorden = collection.GetProcesoDecimalByOrden(id);
            var venta          = collection.GetVentaByProcesoVenta(procesoByorden);

            ViewBag.productos = ventaM.GetProductsWithCantidadAndPrecioToResumenVenta(productosOr);
            return(View(venta));
        }
        /// <summary>
        /// Crea un reporte en un archivo excel
        /// </summary>
        /// <param name="fechaInicio">Fecha inicio desde donde se genera el reporte</param>
        /// <param name="fechaFin">Fecha final hasta donde se genera el reporte</param>
        /// <returns>Archivo excel con el reporte para descarga</returns>
        public void GenerarReporte(string fechaInicio, string fechaFin)
        {
            string path     = Server.MapPath("~/reportes");
            string filepath = path + "/reporte.xlsx";

            SpreadsheetDocument archivoExcel = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook);

            WorkbookPart workbookpart = archivoExcel.AddWorkbookPart();

            workbookpart.Workbook = new Workbook();

            WorksheetPart worksheetPart = workbookpart.AddNewPart <WorksheetPart>();

            worksheetPart.Worksheet = new Worksheet(new SheetData());

            Sheets sheets = archivoExcel.WorkbookPart.Workbook.AppendChild <Sheets>(new Sheets());

            Sheet sheet = new Sheet()
            {
                Id = archivoExcel.WorkbookPart.
                     GetIdOfPart(worksheetPart),
                SheetId = 1,
                Name    = "reporte"
            };

            sheets.Append(sheet);

            SheetData sheetData = worksheetPart.Worksheet.GetFirstChild <SheetData>();

            sheetData.AppendChild(Encabezado());

            //Puebla con los datos de las ventas
            VentaManager        manager = new VentaManager(ConfigurationManager.ConnectionStrings["homecenter"].ConnectionString);
            List <ReporteVenta> ventas  = manager.GenerarReporte(fechaInicio, fechaFin);

            int index = 2;

            foreach (ReporteVenta venta in ventas)
            {
                sheetData.AppendChild(CrearFilaReporte(venta, index));
                index++;
            }

            workbookpart.Workbook.Save();

            archivoExcel.Close();

            byte[] fileBytes = System.IO.File.ReadAllBytes(filepath);
            string fileName  = "reporte.xlsx";
        }
Beispiel #7
0
        public JsonResult EnviarCotizacion(decimal id)
        {
            var ventaM        = new VentaManager();
            var ordenM        = new ClienteManager();
            var ordenid       = collection.GetOrdenIdByProcedoId(id);
            var productosOr   = ventaM.GetProductByOrden(ordenid);
            var listaProducto = ventaM.GetProductsWithCantidadAndPrecioToResumenVenta(productosOr);
            var cliente       = collection.GetclienteByOrdenId(ordenid);
            var costoTotal    = ventaM.GetCostoTotalProductsOrdesToCotizacion(ordenid);
            var estado        = ordenM.ChangeEstadoCotizacionSent(ordenid);

            string productos  = string.Empty;
            string paraPortal = "Favor de ACEPTAR o RECHAZAR esta cotizacion por medio de su portal en nuestra pagina";

            foreach (var item in listaProducto)
            {
                productos = productos + "<br/><hr/>" + "<table><tr><td>Producto:</td><td>" + "&nbsp;" + item.DESCRIPCION + "</td></tr>" +
                            "<tr><td>Cantidad Solicitada:</td><td>" + "&nbsp;" + item.CANTIDAD.ToString() + "</td></tr>" +
                            "<tr><td>Precio:</td><td>" + "&nbsp;" + "$" + item.PRECIO.ToString() + "</td></tr></table>";
            }

            string body = "<p>Estimado(a)" + " " + cliente.NOMBRE + " " + "hacemos envio de la cotizacion de su orden de compra numero" + " " + ordenid.ToString() + ":" + " </p>"
                          + productos + " " + "<br/>" + "<table><tr><td><strong>Costo Total:</strong></td><td>" + "&nbsp;" + "<strong>$</strong>" + "<strong>" + costoTotal.ToString() + "</strong>" + "</td></tr></table>" +
                          "<br/><p><strong>" + paraPortal + "</strong></p>";

            MailMessage correo = new MailMessage();

            correo.From = new MailAddress("*****@*****.**");
            correo.To.Add(cliente.CORREO);
            correo.Subject    = "Cotizacion de Orden de Compra";
            correo.Body       = body;
            correo.IsBodyHtml = true;
            correo.Priority   = MailPriority.Normal;

            SmtpClient smtp = new SmtpClient();

            smtp.Host                  = "smtp.gmail.com";
            smtp.Port                  = 25;
            smtp.EnableSsl             = true;
            smtp.UseDefaultCredentials = true;
            string mycorreo = "*****@*****.**";
            string password = "******";

            smtp.Credentials = new System.Net.NetworkCredential(mycorreo, password);

            smtp.Send(correo);

            return(Json(id));
        }
        public JsonResult obtenerFacturasFactura(string IdMovimientosCostos, string TipoDePolizas, int IdTabla)
        {
            var seguridad = new VentaManager();
            SeguridadManager _seguridadx = new SeguridadManager();
            int _idusuario = 0;

            _seguridadx.getIdUsuario(User.Identity.Name, ref _idusuario);

            string _success = "";
            var    _htm     = seguridad.obtenerFacturasPorFactura(IdMovimientosCostos, TipoDePolizas, IdTabla, _idusuario, ref _success);

            return(Json(new
            {
                Success = _success == "" ? "OK" : _success,
                Data = _htm == null ? "Ocurrio El Error: " + _success + "</p><p> Consulte Al Administrador del Sistema" : _htm
            }, JsonRequestBehavior.AllowGet));
        }
Beispiel #9
0
        public JsonResult EnviarResumen(decimal id)
        {
            var ventaM        = new VentaManager();
            var venta         = collection.GetVentaByProcesoVenta(id);
            var ordenid       = collection.GetOrdenIdByProcedoId(id);
            var productosOr   = ventaM.GetProductByOrden(ordenid);
            var listaProducto = ventaM.GetProductsWithCantidadAndPrecioToResumenVenta(productosOr);
            var cliente       = collection.GetclienteByOrdenId(ordenid);

            string productos = string.Empty;

            foreach (var item in listaProducto)
            {
                productos = productos + "<br/><hr/>" + "<table><tr><td>Producto:</td><td>" + "&nbsp;" + item.DESCRIPCION + "</td></tr>" +
                            "<tr><td>Cantidad Solicitada:</td><td>" + "&nbsp;" + item.CANTIDAD.ToString() + "</td></tr>" +
                            "<tr><td>Precio:</td><td>" + "&nbsp;" + "$" + item.PRECIO.ToString() + "</td></tr></table>";
            }

            string body = "<p>Estimado(a)" + " " + cliente.NOMBRE + " " + "los costos correspondientes a su orden numero" + " " + ordenid.ToString() + " " + "son: </p>"
                          + productos + " " + "<br/>" + "<table><tr><td><strong>Costo Total:</strong></td><td>" + "&nbsp;" + "<strong>$</strong>" + "<strong>" + venta.COSTOTOTAL.ToString() + "</strong>" + "</td></tr></table>";

            MailMessage correo = new MailMessage();

            correo.From = new MailAddress("*****@*****.**");
            correo.To.Add(cliente.CORREO);
            correo.Subject    = "Resumen de venta de Orden de Compra";
            correo.Body       = body;
            correo.IsBodyHtml = true;
            correo.Priority   = MailPriority.Normal;

            SmtpClient smtp = new SmtpClient();

            smtp.Host                  = "smtp.gmail.com";
            smtp.Port                  = 25;
            smtp.EnableSsl             = true;
            smtp.UseDefaultCredentials = true;
            string mycorreo = "*****@*****.**";
            string password = "******";

            smtp.Credentials = new System.Net.NetworkCredential(mycorreo, password);

            smtp.Send(correo);

            return(Json(id));
        }
Beispiel #10
0
        public ActionResult ResumenVenta(VentaViewModel venta)
        {
            var usuario = (USUARIO)Session["usuario"];

            ViewBag.session = usuario.NOMBREUSUARIO;
            var ventaM      = new VentaManager();
            var insertVenta = new VENTA();

            if (venta != null)
            {
                insertVenta = ventaM.InsertNewVenta(venta);
            }
            var ventaDetalle = ventaM.GetAndInsertDetalisVenta(insertVenta);
            var ordenid      = ventaM.GetOrdenIdByProcesoID(venta.PROCESOVENTA_IDPROCESOVENTA);
            var productosOr  = ventaM.GetProductByOrden(ordenid);

            ViewBag.productos = ventaM.GetProductsWithCantidadAndPrecioToResumenVenta(productosOr);
            return(View(ventaDetalle));
        }
Beispiel #11
0
        public JsonResult obtenerCostos(int idMes)
        {
            var seguridad = new VentaManager();
            SeguridadManager _seguridadx = new SeguridadManager();
            int _idusuario = 0;

            _seguridadx.getIdUsuario(User.Identity.Name, ref _idusuario);

            string _success = "";
            var    _htm     = seguridad.obtenerCostos(idMes, _idusuario, ref _success);



            var jsonResult = Json(new
            {
                Success = _success == "" ? "OK" : _success,
                Data    = _htm == null ? "<p>Ocurrio El Error: " + _success + "</p><p> Consulte Al Administrador del Sistema</p>" : _htm
            }, JsonRequestBehavior.AllowGet);

            jsonResult.MaxJsonLength = Int32.MaxValue;
            return(jsonResult);
        }
        /// <summary>
        /// Trae el total de comisiones
        /// </summary>
        /// <param name="fechaInicio">Fecha desde la cual se genera el reporte</param>
        /// <param name="fechaFin">Fecha hasta la cual se genera el reporte</param>
        /// <returns>Total de comisiones</returns>
        public JsonResult ContarComisiones(string fechaInicio, string fechaFin)
        {
            Usuario       usuario       = (Usuario)Session["usuario"];
            AsesorManager asesorManager = new AsesorManager(ConfigurationManager.ConnectionStrings["homecenter"].ConnectionString);
            Asesor        asesor        = asesorManager.BuscarXCedula(usuario.Login);

            if (asesor != null && asesor.AsesorId != 0)
            {
                VentaManager manager = new VentaManager(ConfigurationManager.ConnectionStrings["homecenter"].ConnectionString);
                int          listado = manager.ContarComisiones(fechaInicio, fechaFin, asesor.AsesorId);
                return(new JsonResult()
                {
                    Data = listado
                });
            }
            else
            {
                return(new JsonResult()
                {
                    Data = 0
                });
            }
        }
Beispiel #13
0
        public JsonResult RepartirGanancias(decimal id)
        {
            var idproceso      = id;
            var listaPAceppted = new List <PRODUCTO>();
            var ganancia       = new VENTA();
            var newGanancia    = new VENTA();
            var ventaM         = new VentaManager();

            var ventaByProcesoId = collection.GetVentaByProcesoVenta(id);
            var tipoProceso      = collection.GetTipoProcesoByProcesoID(ventaByProcesoId.PROCESOVENTA_IDPROCESOVENTA);

            if (tipoProceso == "Externo")
            {
                var usuarios = collection.GetProductoresByProcesoID(id);

                foreach (var item in usuarios)
                {
                    listaPAceppted = collection.GetMyProductsAcceptedByProductorList(item.RUTPRODUCTOR, idproceso);
                    var listaPAcceptedtotales = collection.GetProductsAccepted(idproceso);
                    var sumaPrecios           = collection.TotalSumOfPrecioOfProductorAccordingToOneSell(listaPAceppted);

                    var ventaByProceso = collection.GetVentaByProcesoVenta(idproceso);
                    ganancia = collection.GetMyProfitToEmail(listaPAcceptedtotales, ventaByProceso, sumaPrecios, item.RUTPRODUCTOR);

                    var ventaUpdate = ventaM.UpdateEstadoVentaAfterRepartir(ganancia);
                    newGanancia = new VENTA
                    {
                        IDVENTA                     = ventaUpdate.IDVENTA,
                        FECHA                       = ventaUpdate.FECHA,
                        IMPUESTOADUANA              = ventaUpdate.IMPUESTOADUANA,
                        COSTOTRANSPORTE             = ventaUpdate.COSTOTRANSPORTE,
                        COMISIONEMPRESA             = ventaUpdate.COMISIONEMPRESA,
                        COSTOTOTAL                  = ventaUpdate.COSTOTOTAL,
                        GANANCIA                    = ventaUpdate.GANANCIA,
                        ESTADO                      = ventaUpdate.ESTADO,
                        PROCESOVENTA_IDPROCESOVENTA = ventaUpdate.PROCESOVENTA_IDPROCESOVENTA
                    };

                    string body = "<p>Estimado(a)" + " " + item.NOMBRE + " " + "las ganancias correspondientes a la venta numero" + " " + ganancia.IDVENTA.ToString() + " " + "son: </p>"
                                  + "</br>" + "<table><tr><td>Costo Transporte</td><td>" + "$" + ganancia.COSTOTRANSPORTE.ToString() + "</td></tr>" +
                                  "<tr><td>Comision Empresa</td><td>" + ganancia.COMISIONEMPRESA.ToString() + "%" + "</td></tr>" +
                                  "<tr><td>Impuesto Aduana</td><td>" + "$" + ganancia.IMPUESTOADUANA.ToString() + "</td></tr>" +
                                  "<tr><td>Ganancia Neta</td><td>" + "$" + ganancia.GANANCIAPRODUCTORNETA.ToString() + "</td></tr>" +
                                  "<tr><td>Ganancia Total</td><td>" + "$" + ganancia.GANANCIATOTAL.ToString() + "</td></tr></table>";

                    MailMessage correo = new MailMessage();
                    correo.From = new MailAddress("*****@*****.**");
                    correo.To.Add(item.CORREO);
                    correo.Subject    = "Ganancias de Venta Externa Realizada";
                    correo.Body       = body;
                    correo.IsBodyHtml = true;
                    correo.Priority   = MailPriority.Normal;

                    SmtpClient smtp = new SmtpClient();
                    smtp.Host                  = "smtp.gmail.com";
                    smtp.Port                  = 25;
                    smtp.EnableSsl             = true;
                    smtp.UseDefaultCredentials = true;
                    string mycorreo = "*****@*****.**";
                    string password = "******";
                    smtp.Credentials = new System.Net.NetworkCredential(mycorreo, password);

                    smtp.Send(correo);
                }
            }
            else
            {
                var productores = collection.GetProductoresByProcesoIDLocal(id);

                foreach (var item in productores)
                {
                    var misPlocales = (List <PRODUCTO>)collection.GetMyProductListProcesoLocalCompradosByRutP(item.PRODUCTOR_RUTPRODUCTOR, id);
                    var pagoNeto    = collection.GetPagoLocalNeto(misPlocales);
                    var pagoTotal   = collection.GetPagoLocalTotal(pagoNeto, ventaByProcesoId);
                    var productor   = collection.GetProductorByRut(item.PRODUCTOR_RUTPRODUCTOR);
                    ganancia = ventaByProcesoId;

                    var ventaUpdate = ventaM.UpdateEstadoVentaAfterRepartir(ganancia);
                    newGanancia = new VENTA
                    {
                        IDVENTA                     = ventaUpdate.IDVENTA,
                        FECHA                       = ventaUpdate.FECHA,
                        COSTOTRANSPORTE             = ventaUpdate.COSTOTRANSPORTE,
                        COMISIONEMPRESA             = ventaUpdate.COMISIONEMPRESA,
                        COSTOTOTAL                  = ventaUpdate.COSTOTOTAL,
                        GANANCIA                    = ventaUpdate.GANANCIA,
                        ESTADO                      = ventaUpdate.ESTADO,
                        PROCESOVENTA_IDPROCESOVENTA = ventaUpdate.PROCESOVENTA_IDPROCESOVENTA
                    };


                    string body = "<p>Estimado(a)" + " " + productor.NOMBRE + " " + "las ganancias correspondientes a la venta numero" + " " + ganancia.IDVENTA.ToString() + " " + "son: </p>"
                                  + "</br>" + "<table><tr><td>Costo Transporte</td><td>" + "$" + ganancia.COSTOTRANSPORTE.ToString() + "</td></tr>" +
                                  "<tr><td>Comision Empresa</td><td>" + "$" + ganancia.GANANCIA.ToString() + "</td></tr>" +
                                  "<tr><td>Ganancia Neta</td><td>" + "$" + pagoNeto.ToString() + "</td></tr>" +
                                  "<tr><td>Ganancia Total</td><td>" + "$" + pagoTotal.ToString() + "</td></tr></table>";

                    MailMessage correo = new MailMessage();
                    correo.From = new MailAddress("*****@*****.**");
                    correo.To.Add(productor.CORREO);
                    correo.Subject    = "Ganancias de Venta Local Realizada";
                    correo.Body       = body;
                    correo.IsBodyHtml = true;
                    correo.Priority   = MailPriority.Normal;

                    SmtpClient smtp = new SmtpClient();
                    smtp.Host                  = "smtp.gmail.com";
                    smtp.Port                  = 25;
                    smtp.EnableSsl             = true;
                    smtp.UseDefaultCredentials = true;
                    string mycorreo = "*****@*****.**";
                    string password = "******";
                    smtp.Credentials = new System.Net.NetworkCredential(mycorreo, password);

                    smtp.Send(correo);
                }
            }

            return(Json(newGanancia));
        }