public void mensajeImpresion() { DialogResult mensajeImpresion = MessageBox.Show("Desea imprimir el ticket? ", "Informacion", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (mensajeImpresion == DialogResult.Yes) { oEncabezado = new frmEncabezadoAbono("Reimprimir abono"); oEncabezado.ShowDialog(); if (oEncabezado.cancelar) { oEncabezado.Dispose(); return; } ImprimirTicket.Print(); } }
void _worker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { try { List <object> genericlist = e.Argument as List <object>; var Lista = (List <CodigosDat>)genericlist[0]; var estilo = (string)genericlist[1]; var bandI = (bool)genericlist[2]; BackgroundWorker worker = sender as BackgroundWorker; // foreach (var item in Lista) { if (item.Estado.Equals("Generado") || bandI) { LocalReport rdlc = new LocalReport(); //rdlc.ReportPath = @"..\..\VentanasSec\ReportTicket.rdlc"; rdlc.ReportPath = @"C:\ReportTicket.rdlc"; Barcode b = new Barcode(); b.IncludeLabel = true; b.Alignment = AlignmentPositions.CENTER; b.LabelFont = new Font(System.Drawing.FontFamily.GenericMonospace, 20 * Barcode.DotsPerPointAt96Dpi, System.Drawing.FontStyle.Regular, GraphicsUnit.Pixel); b.LabelPosition = LabelPositions.BOTTOMCENTER; var img = b.Encode(TYPE.CODE128, item.codigoBarra.Trim(), System.Drawing.Color.Black, System.Drawing.Color.White, 290, 90); List <resultTicket> T = new List <resultTicket>(); using (MemoryStream ms = new MemoryStream()) { img.Save(ms, ImageFormat.Png); var objnewImg = new resultTicket { POrder = item.POrder, Size = item.Size, Estilo = estilo, Cantidad = item.Cantidad, codigoBarra = item.codigoBarra, Img = ms.ToArray() }; T.Add(objnewImg); ms.Dispose(); } rdlc.DataSources.Add(new ReportDataSource("DataSet2", T)); using (ImprimirTicket imp = new ImprimirTicket()) { imp.Imprime(rdlc); } Task.Run(() => { return(ActualizarEstado(item.codigoBarra)); }); } } #region codigo funcional dejado en comentario debido a que bartender no se puede instalar en algunas maquinas /* var lb = @"D:\ticketUni.btw"; * using (Engine engine = new Engine(true)) * { * engine.Start(); * * foreach (var item in Lista) * { * if (item.Estado.Equals("Generado") || bandI) * { * * LabelFormatDocument btformate = engine.Documents.Open(lb); * btformate.SubStrings["lblcorte"].Value = item.POrder.Trim(); * btformate.SubStrings["lbltalla"].Value = item.Size.TrimEnd(); * btformate.SubStrings["lblcodigo"].Value = item.codigoBarra.TrimEnd(); * btformate.SubStrings["lblestilo"].Value = estilo.TrimEnd(); * btformate.SubStrings["lblcantidad"].Value = item.Cantidad.ToString(); * * var resp = btformate.Print(); * * * * Task.Run(() => { return ActualizarEstado(item.codigoBarra); }); * } * } * * * //engine.Start(); * // btformate.PrinterCodeTemplate.Performance.AllowSerialization = false; * // btformate.ExportImageToClipboard(Seagull.BarTender.Print.ColorDepth.ColorDepth256, new Resolution(200)); * // btformat.Close(BarTender.BtSaveOptions.btDoNotSaveChanges); * engine.Stop(); * } */ #endregion } catch (Exception ex) { MessageBox.Show(ex.Message); // throw; } }
public ActionResult IngresarVehiculos(Guid?TipoVehiculosView, Guid?Id_Parq, string Placa, bool?Lavar, bool?Casillero, int?CantidadCasillero, string ObservacionCasillero) { using (var transaccion = db.Database.BeginTransaction()) { IngresoVehiculoView ingresoVehiculoView = new IngresoVehiculoView(); Mensaje mensaje = new Mensaje(); try { string IdUsuario = User.Identity.GetUserId(); if (Id_Parq == null || Id_Parq == Guid.Empty) { throw new Exception("No tiene ningun parqueadero asignado."); } if (TipoVehiculosView == null || TipoVehiculosView == Guid.Empty) { throw new Exception("Por favor seleccionar un tipo de vehiculo."); } if (string.IsNullOrWhiteSpace(Placa)) { throw new Exception("Por favor ingrese la placa del vehiculo."); } if (Placa.Length <= 4) { throw new Exception("Por favor la placa del vehiculo debe tener mas de 4 caracteres."); } Lavar = (Lavar == null) ? false : Lavar; Casillero = (Casillero == null) ? false : Casillero; CantidadCasillero = (CantidadCasillero == null) ? 0 : CantidadCasillero; if (Casillero.Value) { if (CantidadCasillero <= 0 || string.IsNullOrWhiteSpace(ObservacionCasillero)) { throw new Exception("Por favor ingresar la cantidad o nombre de los articulos."); } } DateTime dateTime = DateTime.Now; Vehiculo vehiculo = new Vehiculo(); Parqueadero parqueadero = new Parqueadero(); Documento documento = new Documento(); DetalleDocumento detalleDocumento = new DetalleDocumento(); vehiculo = db.Vehiculo.Where(t => t.Placa_Veh.ToLower() == Placa.ToLower()).FirstOrDefault(); parqueadero = db.Parqueaderoes.Find(Id_Parq); if (vehiculo == null) { TipoVehiculos tipoVehiculos = new TipoVehiculos(); tipoVehiculos = db.TipoVehiculos.Find(TipoVehiculosView); if (tipoVehiculos == null || tipoVehiculos.Id_TVeh == Guid.Empty) { throw new Exception("El tipo de vehiculo seleccionado no existe."); } ingresoVehiculoView.Vehiculo = new Vehiculo(); ingresoVehiculoView.Vehiculo.Id_Veh = Guid.NewGuid(); ingresoVehiculoView.Vehiculo.Estado_veh = true; ingresoVehiculoView.Vehiculo.Id_TVeh = tipoVehiculos.Id_TVeh; ingresoVehiculoView.Vehiculo.Placa_Veh = Placa; vehiculo = ingresoVehiculoView.Vehiculo; db.Vehiculo.Add(vehiculo); db.SaveChanges(); } if (vehiculo.Documento != null) { if (vehiculo.Documento.Where(t => t.Estado_Doc == true && t.Id_Parq == Id_Parq).Count() > 0) { throw new Exception(string.Format("El vehiculo de tipo {0} con placa {1} ya tiene un ingreso en el parqueadero", vehiculo.TipoVehiculo.Nombre_TVeh, vehiculo.Placa_Veh.ToUpper())); } } if (Lavar.Value) { if (vehiculo.TipoVehiculo.ValorLavado_TVeh > 0) { documento.ValorLavado = vehiculo.TipoVehiculo.ValorLavado_TVeh; } else { throw new Exception($"El tipo de vehiculo {vehiculo.TipoVehiculo.Nombre_TVeh} no tiene valor configurado para el lavado de vehiculos."); } } if (Casillero.Value) { if (vehiculo.TipoVehiculo.ValorLavado_TVeh > 0) { documento.ValorCasillero = vehiculo.TipoVehiculo.ValorCasillero_TVeh * CantidadCasillero.Value; } else { throw new Exception($"El tipo de vehiculo {vehiculo.TipoVehiculo.Nombre_TVeh} no tiene valor configurado para el casillero de vehiculos."); } } if (CantidadCasillero > 0 && !string.IsNullOrWhiteSpace(ObservacionCasillero)) { documento.Observaciones = $"{CantidadCasillero.Value}, {ObservacionCasillero}"; } documento.Id_Veh = vehiculo.Id_Veh; documento.Id_Parq = parqueadero.Id_Parq; documento.Id_Doc = Guid.NewGuid(); documento.Usuario_Doc = IdUsuario; documento.Valor_Doc = 0; documento.Consecutivo = db.Documento.ToList().Count + 1; documento.Estado_Doc = true; documento.FechaCreacion_Doc = dateTime; documento.FachaFinalizacion_Doc = DateTime.MaxValue; db.Documento.Add(documento); db.SaveChanges(); detalleDocumento.Estado_DDoc = true; detalleDocumento.Horas_DDoc = dateTime; detalleDocumento.Id_DDoc = Guid.NewGuid(); detalleDocumento.Id_Doc = documento.Id_Doc; db.DetalleDocumento.Add(detalleDocumento); db.SaveChanges(); ImprimirTicket imprimirTicket = new ImprimirTicket(); Imprimir imprimir = new Imprimir(); imprimir.NombreParqueadero = documento.Parqueadero.NombreEmpresa_Parq.ToUpper(); imprimir.Direccion = documento.Parqueadero.Direccion_Parq.ToUpper(); imprimir.NitParqueadero = documento.Parqueadero.NitEmpresa_Parq.ToUpper(); imprimir.TipoVehiculo = db.TipoVehiculos.Find(vehiculo.Id_TVeh).Nombre_TVeh.ToUpper(); imprimir.Placa = vehiculo.Placa_Veh.ToUpper(); imprimir.Fecha = DateTime.Now.Date; imprimir.Horas = documento.DetalleDocumento.FirstOrDefault().Horas_DDoc; imprimir.Impresora = documento.Parqueadero.Impresora_Parq; imprimir.ValorParqueadero = 0; imprimir.Lavar = Lavar.Value; imprimir.Casillero = Casillero.Value; imprimir.ValotLavar = documento.ValorLavado; imprimir.ValotCasillero = documento.ValorCasillero; imprimir.Observaciones = documento.Observaciones; imprimir.ValorXVehiculo = vehiculo.TipoVehiculo.Valor_TVeh; imprimir.TiempoXVehiculo = parqueadero.PagoMinutos_Parq; imprimir.HoraApertura = parqueadero.HoraApertura_Parq; imprimir.HoraCierre = parqueadero.HoraCierre_Parq; //imprimir.Transcurrido = GetCalculoHoraValor(documento).DetalleDocumento.FirstOrDefault().Transcurrido_DDoc; imprimir.Transcurrido = "Inicio"; //imprimirTicket.Generar(imprimir, documento.Parqueadero.ImprimirIngreso_Parq, false); transaccion.Commit(); return(PartialView("_FacturaViewPartial", imprimir)); } catch (Exception ex) { transaccion.Rollback(); mensaje.DescripcionMensaje = string.Format("Error al ingresar vehiculo: {0}", ex.Message); //ModelState.AddModelError(string.Empty, string.Format("Error al ingresar vehiculo: {0}", ex.Message)); return(PartialView("AlertMensajerViewPartial", mensaje)); //return View("Index", CagarVista(ingresoVehiculoView)); } } return(RedirectToAction("Index")); }
public ActionResult Facturar(Guid?Id_Doc, decimal ValorPagado_Doc, decimal Valor_Doc, decimal ValorLavado, decimal ValorCasillero) { IngresoVehiculoView ingresoVehiculoView = new IngresoVehiculoView(); ImprimirTicket imprimirTicket = new ImprimirTicket(); Imprimir imprimir = new Imprimir(); using (var transaccion = db.Database.BeginTransaction()) { Mensaje mensaje = new Mensaje(); try { if (ValorPagado_Doc <= 0) { throw new Exception("Por favor ingrese un valor total valido."); } DateTime dateTime = DateTime.Now; Documento documento1 = db.Documento.Find(Id_Doc); if (documento1 == null || documento1.Id_Doc == Guid.Empty) { throw new Exception("por favor envié un documento valido."); } if (documento1.Parqueadero.Lavar) { if (ValorLavado > 0) { documento1.ValorLavado = ValorLavado; } } if (documento1.Parqueadero.Casillero) { if (ValorCasillero > 0) { documento1.ValorCasillero = ValorCasillero; } } documento1.Valor_Doc = Valor_Doc; documento1.ValorPagado_Doc = ValorPagado_Doc; documento1.FachaFinalizacion_Doc = dateTime; documento1.Estado_Doc = false; db.Entry(documento1).State = EntityState.Modified; foreach (var item in db.DetalleDocumento.Where(t => t.Id_Doc == documento1.Id_Doc).ToList()) { DetalleDocumento detalleDocumento1 = item; detalleDocumento1.Estado_DDoc = false; db.Entry(documento1).State = EntityState.Modified; } DetalleDocumento detalleDocumento = new DetalleDocumento(); detalleDocumento.Estado_DDoc = false; detalleDocumento.Horas_DDoc = dateTime; detalleDocumento.Id_Doc = documento1.Id_Doc; detalleDocumento.Id_DDoc = Guid.NewGuid(); db.DetalleDocumento.Add(detalleDocumento); db.SaveChanges(); Parqueadero parqueadero = db.Parqueaderoes.Find(documento1.Id_Parq); imprimir.NombreParqueadero = documento1.Parqueadero.NombreEmpresa_Parq.ToUpper(); imprimir.Direccion = documento1.Parqueadero.Direccion_Parq.ToUpper(); imprimir.NitParqueadero = documento1.Parqueadero.NitEmpresa_Parq.ToUpper(); imprimir.TipoVehiculo = db.TipoVehiculos.Find(documento1.Vehiculo.TipoVehiculo.Id_TVeh).Nombre_TVeh.ToUpper(); imprimir.Placa = documento1.Vehiculo.Placa_Veh.ToUpper(); imprimir.Fecha = DateTime.Now.Date; imprimir.Horas = documento1.DetalleDocumento.FirstOrDefault().Horas_DDoc; imprimir.Impresora = documento1.Parqueadero.Impresora_Parq; imprimir.ValorParqueadero = Valor_Doc; imprimir.ValotTotal = documento1.ValorPagado_Doc; imprimir.Lavar = (ValorLavado > 0) ? true : false; imprimir.Casillero = (ValorCasillero > 0) ? true : false; imprimir.ValotCasillero = ValorCasillero; imprimir.ValotLavar = ValorLavado; imprimir.Observaciones = documento1.Observaciones; imprimir.Transcurrido = GetCalculoHoraValor(documento1).DetalleDocumento.FirstOrDefault().Transcurrido_DDoc; imprimir.ValorXVehiculo = documento1.Vehiculo.TipoVehiculo.Valor_TVeh; imprimir.TiempoXVehiculo = parqueadero.PagoMinutos_Parq; imprimir.HoraApertura = parqueadero.HoraApertura_Parq; imprimir.HoraCierre = parqueadero.HoraCierre_Parq; //imprimirTicket.Generar(imprimir, documento1.Parqueadero.ImprimirFactura_Parq, true); transaccion.Commit(); return(PartialView("_FacturaViewPartial", imprimir)); } catch (Exception ex) { transaccion.Rollback(); //ModelState.AddModelError(string.Empty, string.Format("Error al facturar: {0}", ex.Message)); //return Json(new { data = ex.Message }, JsonRequestBehavior.AllowGet); mensaje.DescripcionMensaje = string.Format("Error al ingresar vehiculo: {0}", ex.Message); return(PartialView("AlertMensajerViewPartial", mensaje)); //return View("Index", CagarVista(ingresoVehiculoView)); } } return(Json(new { data = imprimir }, JsonRequestBehavior.AllowGet)); //return View("Index", CagarVista(ingresoVehiculoView)); }