public ActionResult DeleteConfirmed(int id) { Venta venta = db.Ventas.Find(id); Orden pedido = db.Ordenes.Find(venta.ordenId); db.Ventas.Remove(venta); if (venta.Ordenes != null) { foreach (var item in venta.Ordenes) { if (item.Estados.Where(a => a.EstadoOrden.nombre == "Con Guia").Count() > 0) { item.estadoOrdenId = db.EstadosOrden.Single(p => p.nombre == "Con Guia").estadoOrdenId; } else { item.estadoOrdenId = db.EstadosOrden.Single(p => p.nombre == "Creado").estadoOrdenId; } OrdenEstadoOrden pedidoEstado = new OrdenEstadoOrden(); pedidoEstado = item.Estados.Where(p => p.EstadoOrden.nombre == "Con Factura").FirstOrDefault(); db.OrdenesEstadoOrden.Remove(pedidoEstado); } } db.SaveChanges(); //return RedirectToAction("Index"); return(RedirectToAction("Index", "Orden")); }
public ActionResult EditPayment([Bind(Include = "ventaId, fechaPagoReal, ordenIds")] Venta venta) { if (ModelState.IsValid) { db.Entry(venta).State = EntityState.Modified; db.Entry(venta).Property(x => x.ordenId).IsModified = false; db.Entry(venta).Property(x => x.estadoVentaId).IsModified = false; db.Entry(venta).Property(x => x.serie).IsModified = false; db.Entry(venta).Property(x => x.numero).IsModified = false; db.Entry(venta).Property(x => x.tipoDocumentoId).IsModified = false; db.Entry(venta).Property(x => x.fecha).IsModified = false; db.Entry(venta).Property(x => x.formaPagoId).IsModified = false; db.Entry(venta).Property(x => x.fechaPagoProgramado).IsModified = false; if (venta.fechaPagoReal != null) { DateTime timeUtc = DateTime.UtcNow; TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone); ////1. Actualiza estados de Pedido //var estadoOrden = db.EstadosOrden.Single(p => p.nombre == "Cobrado"); //var ordenOriginal = db.Ordenes.Find(venta.ordenId); //ordenOriginal.estadoOrdenId = estadoOrden.estadoOrdenId; //venta.Ordenes.Add(ordenOriginal); //Get VentaOriginal var ventaOriginal = db.Ventas.Where(a => a.ventaId == venta.ventaId).Include(a => a.Ordenes); //1. Actualiza estados de Pedido var estadoOrden = db.EstadosOrden.Single(p => p.nombre == "Cobrado"); foreach (var orden in ventaOriginal.FirstOrDefault().Ordenes) { //var ordenOriginal = db.Ordenes.Find(orden.ordenId); orden.estadoOrdenId = estadoOrden.estadoOrdenId; } //2. Grabar Estado de Pedido var ordenEstadoOrden = new OrdenEstadoOrden(); foreach (var orden in ventaOriginal.FirstOrDefault().Ordenes) { ordenEstadoOrden.ordenId = orden.ordenId; ordenEstadoOrden.estadoOrdenId = estadoOrden.estadoOrdenId; ordenEstadoOrden.usuarioCreacion = User.Identity.Name; ordenEstadoOrden.fechaCreacion = cstTime; db.OrdenesEstadoOrden.Add(ordenEstadoOrden); } db.SaveChanges(); } return(RedirectToAction("Index", "Venta")); } venta = db.Ventas.Find(venta.ventaId); return(View(venta)); }
public ActionResult DeleteConfirmed(int id) { GuiaSalida guiasalida = db.GuiaSalidas.Find(id); db.GuiaSalidas.Remove(guiasalida); Orden pedido = db.Ordenes.Find(guiasalida.ordenId); pedido.estadoOrdenId = db.EstadosOrden.Single(p => p.nombre == "Creado").estadoOrdenId; OrdenEstadoOrden pedidoEstado = new OrdenEstadoOrden(); pedidoEstado = pedido.Estados.Where(p => p.EstadoOrden.nombre == "Con Guía").FirstOrDefault(); db.OrdenesEstadoOrden.Remove(pedidoEstado); db.SaveChanges(); //return RedirectToAction("Index"); return(RedirectToAction("Index", "Orden")); }
public ActionResult CrearOrden(Orden orden) { var errors = ModelState.Values.SelectMany(v => v.Errors); if (ModelState.IsValid) { DateTime timeUtc = DateTime.UtcNow; TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone); orden.fechaCreacion = cstTime; orden.usuarioCreacion = User.Identity.Name; orden.fechaModificacion = cstTime; orden.usuarioModificacion = User.Identity.Name; var estadoOrden = db.EstadosOrden.Single(p => p.nombre == "Creado"); orden.estadoOrdenId = estadoOrden.estadoOrdenId; db.Ordenes.Add(orden); // Grabar Estado de Orden var ordenEstadoOrden = new OrdenEstadoOrden(); ordenEstadoOrden.ordenId = orden.ordenId; ordenEstadoOrden.estadoOrdenId = estadoOrden.estadoOrdenId; ordenEstadoOrden.usuarioCreacion = User.Identity.Name; ordenEstadoOrden.fechaCreacion = cstTime; db.OrdenesEstadoOrden.Add(ordenEstadoOrden); db.SaveChanges(); return(RedirectToAction("Index", "Orden")); } else { var errorText = errors.FirstOrDefault().ErrorMessage; return(View(errorText)); } }
public ActionResult RetornoGuiaMasivo(List <Orden> ordenes) { var errors = ModelState.Values.SelectMany(v => v.Errors); if (ModelState.IsValid) { DateTime timeUtc = DateTime.UtcNow; TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone); var estadoOrden = db.EstadosOrden.Single(p => p.nombre == "Guía Retornada"); foreach (var orden in ordenes) { //0. Save Guia Documents var guia = db.GuiaSalidas.Where(a => a.ordenId == orden.ordenId).ToList().FirstOrDefault(); guia.retorno1 = orden.GuiasSalida.FirstOrDefault().retorno1; guia.retorno2 = orden.GuiasSalida.FirstOrDefault().retorno2; guia.retorno3 = orden.GuiasSalida.FirstOrDefault().retorno3; if (guia.retorno1 == true && guia.retorno2 == true && guia.retorno3 == true) { //1. Cambia Estado de Orden var ordenOriginal = db.Ordenes.Find(orden.ordenId); ordenOriginal.estadoOrdenId = estadoOrden.estadoOrdenId; ordenOriginal.usuarioModificacion = User.Identity.Name; ordenOriginal.fechaModificacion = cstTime; //2. Grabar Estado de Orden var ordenEstadoOrden = new OrdenEstadoOrden(); ordenEstadoOrden.ordenId = ordenOriginal.ordenId; ordenEstadoOrden.estadoOrdenId = estadoOrden.estadoOrdenId; ordenEstadoOrden.usuarioCreacion = User.Identity.Name; ordenEstadoOrden.fechaCreacion = cstTime; db.OrdenesEstadoOrden.Add(ordenEstadoOrden); } db.SaveChanges(); } //db.Pedidos.Add(pedidos); //db.SaveChanges(); return(RedirectToAction("Index")); } var estadoList = new string[] { "Con Factura", "Con Guía", "Cobrado" }; var ordenes2 = db.Ordenes.Where(a => estadoList.Contains(a.EstadoOrden.nombre)); return(View(ordenes2.ToList())); //var pedidosNew = db.Ordenes.Where(a => a.Ventas.Where(x => x.FormaPago.nombre == "Credito").Select(x => x.pedidoId).Contains(a.pedidoId)); ////.Include(v => v.EstadoPedido).Include(v => v.Ventas); //return View(pedidosNew.ToList()); }
public FileResult DocumentBoletaEmptyPrint(int?id) { if (id == null) { return(null); } DateTime timeUtc = DateTime.UtcNow; TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone); //1. Cambia Estado var pedidoOriginal = db.Ordenes.Find(id); var estadoPedido = db.EstadosOrden.Single(p => p.nombre == "Con Factura"); pedidoOriginal.estadoOrdenId = estadoPedido.estadoOrdenId; pedidoOriginal.usuarioModificacion = User.Identity.Name; pedidoOriginal.fechaModificacion = cstTime; //2. Grabar Estado de Pedido var pedidoEstadoPedido = new OrdenEstadoOrden(); pedidoEstadoPedido.ordenId = pedidoOriginal.ordenId; pedidoEstadoPedido.estadoOrdenId = estadoPedido.estadoOrdenId; pedidoEstadoPedido.usuarioCreacion = User.Identity.Name; pedidoEstadoPedido.fechaCreacion = cstTime; db.OrdenesEstadoOrden.Add(pedidoEstadoPedido); db.SaveChanges(); List <Venta> venta = db.Ventas.Where(a => a.ordenId == id).ToList(); DataTable dt = new DataTable(); dt.Clear(); dt.Columns.Add("Cliente"); dt.Columns.Add("Direccion"); dt.Columns.Add("RUC"); dt.Columns.Add("SerieF"); dt.Columns.Add("NumeroF"); dt.Columns.Add("SubTotal"); dt.Columns.Add("IGV"); dt.Columns.Add("Total"); dt.Columns.Add("SerieG"); dt.Columns.Add("NumeroG"); dt.Columns.Add("FechaF"); dt.Columns.Add("FechaG"); dt.Columns.Add("PuntoDestinoG"); dt.Columns.Add("PuntoPartidaG"); dt.Columns.Add("Cantidad"); dt.Columns.Add("DescripcionP"); dt.Columns.Add("PrecioUnitario"); dt.Columns.Add("PrecioTotal"); dt.Columns.Add("TotalTexto"); foreach (var item in venta[0].Ordenes.FirstOrDefault().Detalles.OrderBy(a => a.Producto.nombre)) { DataRow _ravi = dt.NewRow(); _ravi["Cliente"] = venta[0].Ordenes.FirstOrDefault().ClienteOrigen.razonSocial; _ravi["Direccion"] = venta[0].Ordenes.FirstOrDefault().ClienteOrigen.Direcciones[0].Direccion.descripcion; _ravi["RUC"] = venta[0].Ordenes.FirstOrDefault().ClienteOrigen.ruc; _ravi["SerieF"] = venta[0].serie; _ravi["NumeroF"] = venta[0].numero; _ravi["SubTotal"] = string.Format("{0:0,0.00}", venta[0].Ordenes.FirstOrDefault().subTotal); _ravi["IGV"] = string.Format("{0:0,0.00}", venta[0].Ordenes.FirstOrDefault().igv); _ravi["Total"] = string.Format("{0:0,0.00}", venta[0].Ordenes.FirstOrDefault().Total); string fullMonthName = venta[0].fecha.ToString("MMMM", CultureInfo.CreateSpecificCulture("es")).ToUpper(); _ravi["FechaF"] = "Lima, " + venta[0].fecha.Day + " de " + fullMonthName + " del " + venta[0].fecha.Year; if (venta[0].Ordenes.FirstOrDefault().GuiasSalida.Count >= 1) { string fechaTraslado = ""; //fechaTraslado = "Lima, " + venta[0].Orden.GuiasSalida.SingleOrDefault().fechaTraslado.Day + " de Agosto del" + venta[0].Orden.GuiasSalida.SingleOrDefault().fechaTraslado.Year; _ravi["SerieG"] = venta[0].Ordenes.FirstOrDefault().GuiasSalida.SingleOrDefault().serie; _ravi["NumeroG"] = venta[0].Ordenes.FirstOrDefault().GuiasSalida.SingleOrDefault().numero; //_ravi["FechaG"] = venta[0].Orden.GuiasSalida.SingleOrDefault().fechaTraslado; } else { _ravi["SerieG"] = ""; _ravi["NumeroG"] = ""; _ravi["FechaG"] = ""; } _ravi["PuntoDestinoG"] = venta[0].Ordenes.FirstOrDefault().ClienteOrigen.Direcciones[0].Direccion.descripcion; _ravi["PuntoPartidaG"] = "CALLE AURELIO FERNANDEZ CONCHA 298-MIRAFLORES"; _ravi["Cantidad"] = item.cantidad; _ravi["DescripcionP"] = item.Producto.nombre + " - " + item.Producto.UnidadMedida.nombre; _ravi["PrecioUnitario"] = string.Format("{0:0,0.00}", item.precioUnitario); _ravi["PrecioTotal"] = string.Format("{0:0,0.00}", item.precioTotal); _ravi["TotalTexto"] = "CIENTO OCHENTA Y OCHO y 10/100"; dt.Rows.Add(_ravi); } Microsoft.Reporting.WebForms.LocalReport localreport = new LocalReport(); ReportDataSource reportdatasource1 = new ReportDataSource("dsMaestroDetalle"); reportdatasource1.Name = "dsMaestroDetalle"; localreport.ReportPath = Server.MapPath("~/Reports/BoletaEmpty.rdlc"); reportdatasource1.Value = dt; localreport.DataSources.Add(reportdatasource1); string reportType = "pdf"; string encoding; string fileNameExtension; Warning[] warnings; string[] streams; byte[] renderedBytes; string mimeType; renderedBytes = localreport.Render(reportType, null, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); return(File(renderedBytes, mimeType)); }
public ActionResult Create([Bind(Include = "ventaId,serie,numero,tipoDocumentoId,fecha, formaPagoId, spot,OrdenIds")] Venta venta) { if (ModelState.IsValid) { if (venta.OrdenIds != null) { venta.Ordenes = db.Ordenes.Where(a => venta.OrdenIds.Contains(a.ordenId)).ToList(); } DateTime timeUtc = DateTime.UtcNow; TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone); //Estado Venta var estadoVenta = db.EstadoVentas.Single(p => p.nombre == "Creado"); venta.estadoVentaId = estadoVenta.estadoVentaId; var formaPago = db.FormaPagos.Find(venta.formaPagoId); switch (formaPago.nombre) { case "Factura a 7 días": venta.fechaPagoProgramado = cstTime.AddDays(7); break; case "Factura a 15 días": venta.fechaPagoProgramado = cstTime.AddDays(15); break; case "Factura a 30 días": venta.fechaPagoProgramado = cstTime.AddDays(30); break; case "Factura a 90 días": venta.fechaPagoProgramado = cstTime.AddDays(90); break; default: venta.fechaPagoProgramado = cstTime; break; } //Actualiza estados de Ordenes var estadoFactura = db.EstadosOrden.Single(p => p.nombre == "Con Factura"); foreach (var item in venta.Ordenes) { item.estadoOrdenId = estadoFactura.estadoOrdenId; } //var orden = db.Ordenes.Find(venta.ordenId); //orden.estadoOrdenId = estadoFactura.estadoOrdenId; //Identificador 1fact >1Guia //venta.Orden = orden; //venta.Ordenes.Add(orden); //2. Grabar Estado de Pedido var ordenEstadoOrden = new OrdenEstadoOrden(); foreach (var item in venta.Ordenes) { ordenEstadoOrden.ordenId = item.ordenId; ordenEstadoOrden.estadoOrdenId = estadoFactura.estadoOrdenId; ordenEstadoOrden.usuarioCreacion = User.Identity.Name; ordenEstadoOrden.fechaCreacion = cstTime; db.OrdenesEstadoOrden.Add(ordenEstadoOrden); } db.SaveChanges(); db.Ventas.Add(venta); db.SaveChanges(); //return RedirectToAction("Index"); return(RedirectToAction("Index", "Venta")); } ViewBag.estadoVentaId = new SelectList(db.EstadoVentas, "estadoVentaId", "nombre", venta.estadoVentaId); ViewBag.ordenId = new SelectList(db.Ordenes, "ordenId", "numero", venta.ordenId); ViewBag.tipoDocumentoId = new SelectList(db.TipoDocumentos, "tipoDocumentoId", "nombre", venta.tipoDocumentoId); ViewBag.formaPagoId = new SelectList(db.FormaPagos, "formaPagoId", "nombre", venta.formaPagoId); ViewBag.Ordenes = db.Ordenes.Where(a => a.Ventas.Count() == 0 && a.GuiasSalida.Count() > 0 && a.Envios.Count() > 0).Include(e => e.ClientePago).Include(e => e.DireccionOrigen).Include(e => e.DireccionDestino).Include(e => e.GuiasSalida); Envio model = new Envio { OrdenIds = new int[0] }; return(View(venta)); //return RedirectToAction("Index", "Pedido"); }
public FileResult DocumentVentaPrint(int?id, byte empty, int type, bool resumen) { if (id == null) { return(null); } if (empty == 1) { DateTime timeUtc = DateTime.UtcNow; TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone); //1. Cambia Estado de Orden List <Orden> ordenesOriginal = db.Ordenes.Where(a => a.Ventas.FirstOrDefault().ventaId == id).ToList(); var estadoOrden = db.EstadosOrden.Single(p => p.nombre == "Con Guía"); foreach (var ordenOriginal in ordenesOriginal) { ordenOriginal.estadoOrdenId = estadoOrden.estadoOrdenId; ordenOriginal.usuarioModificacion = User.Identity.Name; ordenOriginal.fechaModificacion = cstTime; //2. Grabar Estado de Pedido var ordenEstadoOrden = new OrdenEstadoOrden(); ordenEstadoOrden.ordenId = ordenOriginal.ordenId; ordenEstadoOrden.estadoOrdenId = estadoOrden.estadoOrdenId; ordenEstadoOrden.usuarioCreacion = User.Identity.Name; ordenEstadoOrden.fechaCreacion = cstTime; db.OrdenesEstadoOrden.Add(ordenEstadoOrden); db.SaveChanges(); } } Venta venta = db.Ventas.Find(id); //List<GuiaSalida> guias = db.GuiaSalidas.Where(a => a.ordenId == id).ToList(); DataTable dt = new DataTable(); dt.Clear(); dt.Columns.Add("Serie"); dt.Columns.Add("Numero"); dt.Columns.Add("SerieFactura"); dt.Columns.Add("NumeroFactura"); dt.Columns.Add("FechaEmision"); dt.Columns.Add("FechaTraslado"); dt.Columns.Add("Remitente"); dt.Columns.Add("Destinatario"); dt.Columns.Add("direccionRemitente"); dt.Columns.Add("direccionDestinatario"); dt.Columns.Add("ciudadRemitente"); dt.Columns.Add("ciudadDestinatario"); dt.Columns.Add("RUCRemitente"); dt.Columns.Add("RUCDestinatario"); dt.Columns.Add("PuntoPartida"); dt.Columns.Add("PuntoLlegada"); dt.Columns.Add("Cod"); dt.Columns.Add("Cantidad"); dt.Columns.Add("UnidadMedida"); dt.Columns.Add("Descripcion"); dt.Columns.Add("MarcaVehiculo"); dt.Columns.Add("PlacaVehiculo"); dt.Columns.Add("ConfiguracionVehicularVehiculo"); dt.Columns.Add("CertificadoInscripcionVehiculo"); dt.Columns.Add("LicenciaConductorVehiculo"); dt.Columns.Add("RazonSocialSubcontratada"); dt.Columns.Add("RUCSubcontratada"); dt.Columns.Add("ChoferSubcontratada"); dt.Columns.Add("Referencia"); dt.Columns.Add("DireccionFiscalClientePago"); dt.Columns.Add("RucClientePago"); dt.Columns.Add("Importe"); dt.Columns.Add("Flete"); dt.Columns.Add("IGV"); dt.Columns.Add("Total"); dt.Columns.Add("TotalTexto"); dt.Columns.Add("FechaEmisionF"); dt.Columns.Add("Comentario"); dt.Columns.Add("SPOT"); dt.Columns.Add("NumeroGuiaIndividual"); double?subTotal = 0; double?igv = 0; double?total = 0; string guias = ""; subTotal = venta.Ordenes.AsEnumerable().Sum(a => a.subTotal); igv = venta.Ordenes.AsEnumerable().Sum(a => a.igv); total = venta.Ordenes.AsEnumerable().Sum(a => a.Total); foreach (var orden in venta.Ordenes) { guias += orden.GuiasSalida.FirstOrDefault().serie + "-" + orden.GuiasSalida.FirstOrDefault().numero + ", "; } foreach (var orden in venta.Ordenes) { List <OrdenDetalle> detalles = new List <OrdenDetalle>(); //if (resumen == true && orden.resumen != null) //{ // resumen = false; //} if (resumen == true && orden.resumen != null) { detalles.Add(orden.Detalles.FirstOrDefault()); } else if (resumen == false) { detalles = orden.Detalles; } //foreach (var detalle in orden.Detalles) foreach (var detalle in detalles) { DataRow _ravi = dt.NewRow(); //_ravi["Serie"] = orden.GuiasSalida[0].serie; _ravi["Numero"] = guias; _ravi["SerieFactura"] = orden.Ventas.FirstOrDefault().serie; _ravi["NumeroFactura"] = orden.Ventas.FirstOrDefault().numero; //_ravi["FechaEmision"] = ((DateTime)(orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().fechaCreacion)).ToShortDateString(); _ravi["FechaEmision"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().fechaCreacion.ToString(); _ravi["FechaTraslado"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().fechaTraslado.ToShortDateString(); _ravi["Remitente"] = orden.GuiasSalida[0].Orden.ClientePago.razonSocial; _ravi["Destinatario"] = orden.GuiasSalida[0].Orden.ClienteDestinatario.razonSocial; if (orden.GuiasSalida[0].Orden.ClienteOrigen.Direcciones.Where(a => a.TipoDireccion.nombre == "Fiscal").Count() > 0) { _ravi["direccionRemitente"] = orden.GuiasSalida[0].Orden.ClienteOrigen.Direcciones.Where(a => a.TipoDireccion.nombre == "Fiscal").FirstOrDefault().Direccion.direccionCompleta; } else { _ravi["direccionRemitente"] = ""; } if (orden.GuiasSalida[0].Orden.ClienteDestinatario.Direcciones.Where(a => a.TipoDireccion.nombre == "Fiscal").Count() > 0) { _ravi["direccionDestinatario"] = orden.GuiasSalida[0].Orden.ClienteDestinatario.Direcciones.Where(a => a.TipoDireccion.nombre == "Fiscal").FirstOrDefault().Direccion.direccionCompleta; } else { _ravi["direccionDestinatario"] = ""; } _ravi["ciudadRemitente"] = orden.GuiasSalida[0].Orden.DireccionOrigen.Ubigeo.descripcion; _ravi["ciudadDestinatario"] = orden.GuiasSalida[0].Orden.DireccionDestino.Ubigeo.descripcion; _ravi["RUCRemitente"] = orden.GuiasSalida[0].Orden.ClienteOrigen.ruc; _ravi["RUCDestinatario"] = orden.GuiasSalida[0].Orden.ClienteDestinatario.ruc; _ravi["PuntoPartida"] = orden.GuiasSalida[0].Orden.DireccionOrigen.descripcion; _ravi["PuntoLlegada"] = orden.GuiasSalida[0].Orden.DireccionDestino.descripcion; _ravi["Cod"] = detalle.Producto.productoId; _ravi["Comentario"] = detalle.comentario; if (resumen == true && orden.resumen != null) { _ravi["Cantidad"] = 1; _ravi["UnidadMedida"] = "Unidad"; _ravi["Descripcion"] = orden.resumen; } else if (resumen == false) { _ravi["Cantidad"] = detalle.cantidad; _ravi["UnidadMedida"] = detalle.Producto.UnidadMedida.nombre; _ravi["Descripcion"] = "POR EL SERVICIO DE TRASLADO DE " + orden.DireccionOrigen.Ubigeo.descripcion + " A " + orden.DireccionDestino.Ubigeo.descripcion + " SEGÚN DETALLE: " + detalle.Producto.nombre; } _ravi["MarcaVehiculo"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().Vehiculo.Marca; _ravi["PlacaVehiculo"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().Vehiculo.placaUnidad; _ravi["ConfiguracionVehicularVehiculo"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().Vehiculo.placaCarretera; _ravi["CertificadoInscripcionVehiculo"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().Vehiculo.certificadoInscripcion1; _ravi["LicenciaConductorVehiculo"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().Chofer.numeroBrevete; _ravi["RazonSocialSubcontratada"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().Proveedor.razonSocial; _ravi["RUCSubcontratada"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().Proveedor.ruc; _ravi["ChoferSubcontratada"] = orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().Chofer.apellidos + ", " + orden.GuiasSalida[0].Orden.Envios.FirstOrDefault().Chofer.nombres; _ravi["NumeroGuiaIndividual"] = orden.GuiasSalida[0].serie.Trim() + "-" + orden.GuiasSalida[0].numero.Trim(); //type2: Factura o BOleta if (type == 2 || type == 3) { _ravi["Referencia"] = orden.GuiasSalida[0].serie + " " + orden.GuiasSalida[0].numero;; //_ravi["DireccionFiscalClientePago"] = orden.GuiasSalida[0].Orden.ClientePago.Direcciones.FirstOrDefault().Direccion.descripcion; if (orden.GuiasSalida[0].Orden.ClientePago.Direcciones.Where(a => a.TipoDireccion.nombre == "Fiscal").Count() > 0) { _ravi["DireccionFiscalClientePago"] = orden.GuiasSalida[0].Orden.ClientePago.Direcciones.Where(a => a.TipoDireccion.nombre == "Fiscal").FirstOrDefault().Direccion.direccionCompleta; } else { _ravi["DireccionFiscalClientePago"] = ""; } _ravi["RucClientePago"] = orden.GuiasSalida[0].Orden.ClientePago.ruc; if (resumen == true && orden.resumen != null) { _ravi["Importe"] = string.Format("{0:0,0.00}", orden.subTotal); } else if (resumen == false) { _ravi["Importe"] = string.Format("{0:0,0.00}", detalle.precioTotal); } _ravi["Flete"] = string.Format("{0:0,0.00}", subTotal); _ravi["IGV"] = string.Format("{0:0,0.00}", igv); _ravi["Total"] = string.Format("{0:0,0.00}", total); _ravi["FechaEmisionF"] = orden.GuiasSalida[0].Orden.Ventas.FirstOrDefault().fecha.ToString("dd/M/yyyy", CultureInfo.InvariantCulture); ConvertirNumero conv = new ConvertirNumero(); //String numero = orden.GuiasSalida[0].Orden.Total.ToString(); _ravi["TotalTexto"] = conv.Convertir(total.ToString(), true);// "CIENTO OCHENTA Y OCHO y 10/100"; if (orden.GuiasSalida[0].Orden.Ventas.FirstOrDefault().spot == true) { _ravi["SPOT"] = "OPERACIÓN SUJETA A PAGO DE SPOT"; } else { _ravi["SPOT"] = "OPERACIÓN NO SUJETA A PAGO DE SPOT"; } } dt.Rows.Add(_ravi); } } Microsoft.Reporting.WebForms.LocalReport localreport = new LocalReport(); ReportDataSource reportdatasource1 = new ReportDataSource("dsMaestroDetalle"); reportdatasource1.Name = "dsMaestroDetalle"; if (empty == 0 && type == 1) //type =1 guia { localreport.ReportPath = Server.MapPath("~/Reports/Guia.rdlc"); } else if (empty == 1 && type == 1) { localreport.ReportPath = Server.MapPath("~/Reports/GuiaEmpty.rdlc"); } else if (empty == 0 && type == 2) { localreport.ReportPath = Server.MapPath("~/Reports/Factura.rdlc"); } else if (empty == 0 && type == 3) { localreport.ReportPath = Server.MapPath("~/Reports/Boleta.rdlc"); } reportdatasource1.Value = dt; localreport.DataSources.Add(reportdatasource1); string reportType = "pdf"; string encoding; string fileNameExtension; Warning[] warnings; string[] streams; byte[] renderedBytes; string mimeType; renderedBytes = localreport.Render(reportType, null, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); return(File(renderedBytes, mimeType)); }
// GET: /Venta/ public FileResult DocumentGuiaPrint(int?id, byte empty, int type) { if (id == null) { return(null); } if (empty == 1) { DateTime timeUtc = DateTime.UtcNow; TimeZoneInfo cstZone = TimeZoneInfo.FindSystemTimeZoneById("Central Standard Time"); DateTime cstTime = TimeZoneInfo.ConvertTimeFromUtc(timeUtc, cstZone); //1. Cambia Estado de Orden var ordenOriginal = db.Ordenes.Find(id); var estadoOrden = db.EstadosOrden.Single(p => p.nombre == "Con Guía"); ordenOriginal.estadoOrdenId = estadoOrden.estadoOrdenId; ordenOriginal.usuarioModificacion = User.Identity.Name; ordenOriginal.fechaModificacion = cstTime; //2. Grabar Estado de Pedido var ordenEstadoOrden = new OrdenEstadoOrden(); ordenEstadoOrden.ordenId = ordenOriginal.ordenId; ordenEstadoOrden.estadoOrdenId = estadoOrden.estadoOrdenId; ordenEstadoOrden.usuarioCreacion = User.Identity.Name; ordenEstadoOrden.fechaCreacion = cstTime; db.OrdenesEstadoOrden.Add(ordenEstadoOrden); db.SaveChanges(); } //List<Venta> venta = db.Ventas.Where(a => a.ventaId == id).ToList(); List <GuiaSalida> guia = db.GuiaSalidas.Where(a => a.ordenId == id).ToList(); DataTable dt = new DataTable(); dt.Clear(); dt.Columns.Add("Serie"); dt.Columns.Add("Numero"); dt.Columns.Add("FechaEmision"); dt.Columns.Add("FechaTraslado"); dt.Columns.Add("Remitente"); dt.Columns.Add("Destinatario"); dt.Columns.Add("direccionRemitente"); dt.Columns.Add("direccionDestinatario"); dt.Columns.Add("ciudadRemitente"); dt.Columns.Add("ciudadDestinatario"); dt.Columns.Add("RUCRemitente"); dt.Columns.Add("RUCDestinatario"); dt.Columns.Add("PuntoPartida"); dt.Columns.Add("PuntoLlegada"); dt.Columns.Add("Cod"); dt.Columns.Add("Cantidad"); dt.Columns.Add("UnidadMedida"); dt.Columns.Add("Descripcion"); dt.Columns.Add("MarcaVehiculo"); dt.Columns.Add("PlacaVehiculo"); dt.Columns.Add("ConfiguracionVehicularVehiculo"); dt.Columns.Add("CertificadoInscripcionVehiculo"); dt.Columns.Add("LicenciaConductorVehiculo"); dt.Columns.Add("RazonSocialSubcontratada"); dt.Columns.Add("RUCSubcontratada"); dt.Columns.Add("ChoferSubcontratada"); dt.Columns.Add("Referencia"); dt.Columns.Add("DireccionFiscalClientePago"); dt.Columns.Add("RucClientePago"); dt.Columns.Add("Importe"); dt.Columns.Add("Flete"); dt.Columns.Add("IGV"); dt.Columns.Add("Total"); dt.Columns.Add("TotalTexto"); dt.Columns.Add("FechaEmisionF"); dt.Columns.Add("Comentario"); foreach (var item in guia[0].Orden.Detalles.OrderBy(a => a.Producto.nombre)) { DataRow _ravi = dt.NewRow(); _ravi["Serie"] = guia[0].serie; _ravi["Numero"] = guia[0].numero; //_ravi["FechaEmision"] = ((DateTime)(guia[0].Orden.Envios.FirstOrDefault().fechaCreacion)).ToShortDateString(); _ravi["FechaTraslado"] = guia[0].Orden.Envios.FirstOrDefault().fechaTraslado.ToShortDateString(); _ravi["Remitente"] = guia[0].Orden.ClienteOrigen.razonSocial; _ravi["Destinatario"] = guia[0].Orden.ClienteDestinatario.razonSocial; _ravi["direccionRemitente"] = guia[0].Orden.ClienteOrigen.Direcciones.Where(a => a.TipoDireccion.nombre == "Fiscal").FirstOrDefault().Direccion.descripcion; _ravi["direccionDestinatario"] = guia[0].Orden.ClienteDestinatario.Direcciones.Where(a => a.TipoDireccion.nombre == "Fiscal").FirstOrDefault().Direccion.descripcion; _ravi["ciudadRemitente"] = guia[0].Orden.DireccionOrigen.Ubigeo.UbigeoParent.descripcion + " - " + guia[0].Orden.DireccionOrigen.Ubigeo.descripcion; _ravi["ciudadDestinatario"] = guia[0].Orden.DireccionDestino.Ubigeo.UbigeoParent.descripcion + " - " + guia[0].Orden.DireccionDestino.Ubigeo.descripcion;; _ravi["RUCRemitente"] = guia[0].Orden.ClienteOrigen.ruc; _ravi["RUCDestinatario"] = guia[0].Orden.ClienteDestinatario.ruc; _ravi["PuntoPartida"] = guia[0].Orden.DireccionOrigen.direccionCompleta; _ravi["PuntoLlegada"] = guia[0].Orden.DireccionDestino.direccionCompleta; _ravi["Cod"] = item.Producto.productoId; _ravi["Cantidad"] = item.cantidad; _ravi["Comentario"] = item.comentario; _ravi["UnidadMedida"] = item.Producto.UnidadMedida.nombre; _ravi["Descripcion"] = item.Producto.nombre; _ravi["MarcaVehiculo"] = guia[0].Orden.Envios.FirstOrDefault().Vehiculo.Marca; _ravi["PlacaVehiculo"] = guia[0].Orden.Envios.FirstOrDefault().Vehiculo.placaUnidad; _ravi["ConfiguracionVehicularVehiculo"] = guia[0].Orden.Envios.FirstOrDefault().Vehiculo.placaCarretera; _ravi["CertificadoInscripcionVehiculo"] = guia[0].Orden.Envios.FirstOrDefault().Vehiculo.certificadoInscripcion1; _ravi["LicenciaConductorVehiculo"] = guia[0].Orden.Envios.FirstOrDefault().Chofer.numeroBrevete; _ravi["RazonSocialSubcontratada"] = guia[0].Orden.Envios.FirstOrDefault().Proveedor.razonSocial; _ravi["RUCSubcontratada"] = guia[0].Orden.Envios.FirstOrDefault().Proveedor.ruc; _ravi["ChoferSubcontratada"] = guia[0].Orden.Envios.FirstOrDefault().Chofer.apellidos + ", " + guia[0].Orden.Envios.FirstOrDefault().Chofer.nombres; if (type == 2) { _ravi["Referencia"] = guia[0].serie + " " + guia[0].numero;; _ravi["DireccionFiscalClientePago"] = guia[0].Orden.ClientePago.Direcciones.FirstOrDefault().Direccion.descripcion; _ravi["RucClientePago"] = guia[0].Orden.ClientePago.ruc; _ravi["Importe"] = string.Format("{0:0,0.00}", item.precioTotal); _ravi["Flete"] = string.Format("{0:0,0.00}", guia[0].Orden.subTotal); _ravi["IGV"] = string.Format("{0:0,0.00}", guia[0].Orden.igv); _ravi["Total"] = string.Format("{0:0,0.00}", guia[0].Orden.Total); _ravi["FechaEmisionF"] = guia[0].Orden.Ventas.FirstOrDefault().fecha.ToShortDateString(); ConvertirNumero conv = new ConvertirNumero(); String numero = guia[0].Orden.Total.ToString(); _ravi["TotalTexto"] = conv.Convertir(numero, true);// "CIENTO OCHENTA Y OCHO y 10/100"; } dt.Rows.Add(_ravi); } Microsoft.Reporting.WebForms.LocalReport localreport = new LocalReport(); ReportDataSource reportdatasource1 = new ReportDataSource("dsMaestroDetalle"); reportdatasource1.Name = "dsMaestroDetalle"; if (empty == 0 && type == 1) //type =1 guia { localreport.ReportPath = Server.MapPath("~/Reports/Guia.rdlc"); } else if (empty == 1 && type == 1) { localreport.ReportPath = Server.MapPath("~/Reports/GuiaEmpty.rdlc"); } else if (empty == 0 && type == 2) { localreport.ReportPath = Server.MapPath("~/Reports/Factura.rdlc"); } reportdatasource1.Value = dt; localreport.DataSources.Add(reportdatasource1); string reportType = "pdf"; string encoding; string fileNameExtension; Warning[] warnings; string[] streams; byte[] renderedBytes; string mimeType; renderedBytes = localreport.Render(reportType, null, out mimeType, out encoding, out fileNameExtension, out streams, out warnings); return(File(renderedBytes, mimeType)); }