コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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;
            }
        }
コード例 #3
0
        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"));
        }
コード例 #4
0
        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));
        }