コード例 #1
0
        public ActionResult AbrirFactura(int idFactura, string formaPago, string fecha, string idCliente)
        {
            cxn = new ConexionDB();
            EncFactura ef = new EncFactura()
            {
                IdEncFactura   = idFactura,
                FormaPago      = formaPago,
                Fecha          = fecha,
                ClienteFactura = new Cliente(int.Parse(idCliente.ToString()))
            };
            int respuesta = cxn.PersistirDatos(EncFactura.SqlCad("insertar", "", ef));

            return(Json(new { res = respuesta }, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
 // GET: Procesos/Factura
 public ActionResult Factura()
 {
     cxn = new ConexionDB();
     ViewBag.NumeroFactura = (cxn.ConteoDatos(EncFactura.SqlCad("FacturaActual", "", (new EncFactura()))) + 1);
     return(View());
 }
コード例 #3
0
ファイル: DALEncFactura.cs プロジェクト: geor8jl/Resume-CV
        public EncFactura SaveFactura(EncFactura pFactura)
        {
            EncFactura  oFacturaEncabezado = new EncFactura();
            IBLLTarjeta _BLLTarjeta        = new BLLTarjeta();

            string            sqlEncabezado        = string.Empty;
            string            sqlDetalle           = string.Empty;
            string            sqlHabitacion        = string.Empty;
            SqlCommand        cmdFacturaEncabezado = new SqlCommand();
            SqlCommand        cmdFacturaDetalle    = new SqlCommand();
            SqlCommand        cmdHabitacion        = new SqlCommand();
            List <IDbCommand> listaCommands        = new List <IDbCommand>();

            double rows = 0;

            sqlEncabezado = @"usp_INSERT_EncFactura";


            try
            {
                // Encabezado de factura
                cmdFacturaEncabezado.Parameters.AddWithValue("@IDFactura", pFactura.IDFactura);
                cmdFacturaEncabezado.Parameters.AddWithValue("@IDTarjeta", pFactura._Tarjeta.ID);
                cmdFacturaEncabezado.Parameters.AddWithValue("@Fecha", DateTime.Now.Date);
                cmdFacturaEncabezado.Parameters.AddWithValue("@EstadoFact", pFactura.EstadoFact);

                cmdFacturaEncabezado.CommandText = sqlEncabezado;
                cmdFacturaEncabezado.CommandType = CommandType.StoredProcedure;
                // Agregar a la lista de commands
                listaCommands.Add(cmdFacturaEncabezado);


                // Detalle de factura


                // Guardar el detalle de la factura y a la vez rebajar el saldo del producto en Electronico
                foreach (DetFactura pFacturaDetalle in pFactura._ListaFacturaDetalle)
                {
                    sqlDetalle = @"usp_INSERT_DetFactura";


                    cmdFacturaDetalle = new SqlCommand();
                    cmdFacturaDetalle.Parameters.AddWithValue("@IDFactura", GetCurrentNumeroFactura());
                    cmdFacturaDetalle.Parameters.AddWithValue("@Numero", pFacturaDetalle.Numero);
                    cmdFacturaDetalle.Parameters.AddWithValue("@Precio", pFacturaDetalle._Reservacion.Subtotal);
                    cmdFacturaDetalle.Parameters.AddWithValue("@Impuesto", pFacturaDetalle._Impuesto.Porcentaje);
                    cmdFacturaDetalle.Parameters.AddWithValue("@IDReservacion", pFacturaDetalle._Reservacion.ID);

                    cmdFacturaDetalle.CommandText = sqlDetalle;
                    cmdFacturaDetalle.CommandType = CommandType.StoredProcedure;
                    // Agregar a la lista de comandos
                    listaCommands.Add(cmdFacturaDetalle);

                    // Cambiar
                    //cmdHabitacion = new SqlCommand();
                    //cmdHabitacion.Parameters.AddWithValue("@NUM", pFacturaDetalle._Reservacion._Habitacion.NUM);
                    //cmdHabitacion.Parameters.AddWithValue("@Estado", 1);
                    //sqlHabitacion = @"usp_UPDATE_Habitacion";
                    //cmdHabitacion.CommandText = sqlHabitacion;
                    //cmdHabitacion.CommandType = CommandType.StoredProcedure;
                    //listaCommands.Add(cmdHabitacion);
                }


                using (IDataBase db = FactoryDataBase.CreateDataBase(FactoryConexion.CreateConnection(_Usuario.Login, _Usuario.Password)))
                {
                    rows = db.ExecuteNonQuery(listaCommands, IsolationLevel.ReadCommitted);
                }

                // Si devuelve filas quiere decir que se salvo entonces extraerlo

                if (rows == 0)
                {
                    throw new Exception("No se pudo  correctamente la factura");
                }
                else
                {
                    //oFacturaEncabezado = GetFactura(pFactura.IDFactura);
                }

                return(oFacturaEncabezado);
            }
            catch (SqlException sqlError)
            {
                StringBuilder msg = new StringBuilder();
                msg.AppendFormat(Utilitarios.CreateSQLExceptionsErrorDetails(sqlError));


                msg.AppendFormat("SQL             {0}\n", cmdFacturaEncabezado.CommandText);
                msg.AppendFormat("SQL             {0}\n", cmdFacturaDetalle.CommandText);
                msg.AppendFormat("SQL             {0}\n", cmdHabitacion.CommandText);
                _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                throw;
            }
            catch (Exception er)
            {
                StringBuilder msg = new StringBuilder();
                msg.AppendFormat(Utilitarios.CreateGenericErrorExceptionDetail(er));
                _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                throw;
            }
        }
コード例 #4
0
ファイル: DALEncFactura.cs プロジェクト: geor8jl/Resume-CV
        public EncFactura GetFactura(double pNumeroFactura)
        {
            EncFactura      oFacturaEncabezado = new EncFactura();
            DataSet         ds               = null;
            IDALHuesped     _DALHuesped      = new DALHuesped();
            IDALTarjeta     _DALTarjeta      = new DALTarjeta();
            IDALReservacion _DALReservacion  = new DALReservacion();
            IDALEncFactura  _DALEncFactura   = new DALEncFactura();
            IBLLImpuesto    _BLLImpuestotest = new BLLImpuesto();
            SqlCommand      command          = new SqlCommand();

            string sql = @"";


            sql = @"usp_SELECT_EncFactura_ByID";

            try
            {
                command.Parameters.AddWithValue("@IDFactura", pNumeroFactura);
                command.CommandText = sql;
                command.CommandType = CommandType.StoredProcedure;


                using (IDataBase db = FactoryDataBase.CreateDataBase(FactoryConexion.CreateConnection(_Usuario.Login, _Usuario.Password)))
                {
                    ds = db.ExecuteReader(command, "query");
                }

                // Si devolvió filas
                if (ds.Tables[0].Rows.Count > 0)
                {
                    DataRow dr = ds.Tables[0].Rows[0];
                    oFacturaEncabezado = new EncFactura()
                    {
                        IDFactura  = double.Parse(dr["IDFactura"].ToString()),
                        _Tarjeta   = _DALTarjeta.GetTarjetaById(int.Parse(dr["IDTarjeta"].ToString())),
                        Fecha      = DateTime.Parse(dr["Fecha"].ToString()),
                        EstadoFact = dr["EstadoFact"].ToString()
                    };

                    foreach (var item in ds.Tables[0].Rows)
                    {
                        DetFactura oFacturaDetalle = new DetFactura();
                        oFacturaDetalle._EncFactura = _DALEncFactura.GetFactura(pNumeroFactura);
                        oFacturaDetalle.Numero      = int.Parse(dr["Numero"].ToString());
                        oFacturaDetalle.Precio      = double.Parse(dr["Precio"].ToString());
                        oFacturaDetalle._Impuesto   = _BLLImpuestotest.GetImpuesto();
                        // Enumerar la secuencia
                        oFacturaDetalle._Reservacion = _DALReservacion.GetReserva(pNumeroFactura);
                        // Agregar
                        oFacturaEncabezado.AddDetalle(oFacturaDetalle);
                    }
                }


                return(oFacturaEncabezado);
            }
            catch (SqlException sqlError)
            {
                StringBuilder msg = new StringBuilder();
                msg.AppendFormat(Utilitarios.CreateSQLExceptionsErrorDetails(sqlError));
                msg.AppendFormat("SQL             {0}\n", command.CommandText);
                _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                throw;
            }
            catch (Exception er)
            {
                StringBuilder msg = new StringBuilder();
                msg.AppendFormat(Utilitarios.CreateGenericErrorExceptionDetail(er));
                _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                throw;
            }
        }
コード例 #5
0
ファイル: BLLEncFactura.cs プロジェクト: geor8jl/Resume-CV
        public EncFactura SaveFactura(EncFactura pFactura)
        {
            IDALEncFactura _IDALEncFactura = new DALEncFactura();

            return(_IDALEncFactura.SaveFactura(pFactura));
        }
コード例 #6
0
ファイル: frmFacturacion.cs プロジェクト: geor8jl/Resume-CV
        private void btnAgregar_Click(object sender, EventArgs e)
        {
            //IBLLImpuesto _BLLImpuesto = new BLLImpuesto();
            DetFactura oFacturaDetalle = new DetFactura();

            IBLLEncFactura _BLLFactura = new BLLEncFactura();

            IBLLReservacion _BLLReservacion = new BLLReservacion();

            IBLLTarjeta _BLLTarjeta = new BLLTarjeta();

            _FacturaEncabezado = new EncFactura();



            try
            {
                erpError.Clear();

                _FacturaEncabezado = new EncFactura()
                {
                    IDFactura  = _BLLFactura.GetCurrentNumeroFactura(),
                    _Tarjeta   = _BLLTarjeta.GetTarjetaById(Double.Parse(this.txtNumeroTarjeta.Text)),
                    Fecha      = DateTime.Now.Date,
                    EstadoFact = this.cmbEstado.SelectedIndex.ToString()
                };

                if (_FacturaEncabezado == null)
                {
                    MessageBox.Show("Debe agregar los datos del encabezado de la factura para continuar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                // Validar que el Producto ya no se haya agregado
                if (_FacturaEncabezado._ListaFacturaDetalle.Count > 0)
                {
                    // Si ya se agrego no permitir agregarlo nuevamente
                    if (_FacturaEncabezado._ListaFacturaDetalle.FindAll(p => p._Reservacion.ID == double.Parse(this.mskIDReserva.Text)).Count > 0)
                    {
                        MessageBox.Show("La Reservacion ya fue agregado previamente.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                }

                oFacturaDetalle._EncFactura  = _BLLFactura.GetFactura(Double.Parse(this.txtNumeroFactura.Text));
                oFacturaDetalle._Reservacion = _BLLReservacion.GetReserva(Double.Parse(this.mskIDReserva.Text.ToString()));



                oFacturaDetalle.Precio = Double.Parse(this.txtPrecio.Text.ToString());

                // Calcular el Impuesto
                IBLLImpuesto _BLLImpuestotest = new BLLImpuesto();
                oFacturaDetalle._Impuesto = _BLLImpuestotest.GetImpuesto();//((double)_BLLImpuesto.GetImpuesto().Porcentaje / 100D) * oFacturaDetalle.Precio * 1;
                // Enumerar la secuencia
                oFacturaDetalle.Numero = _FacturaEncabezado._ListaFacturaDetalle.Count == 0 ?
                                         1 : _FacturaEncabezado._ListaFacturaDetalle.Max(p => p.Numero) + 1;


                // Agregar
                _FacturaEncabezado.AddDetalle(oFacturaDetalle);

                if (oFacturaDetalle._Reservacion.CheckOUT.Day < this.dtpOut.Value.Day)
                {
                    MessageBox.Show(

                        "  Ha sobrepasado la fecha para realizar su Check Out , por lo que se realizara un cobro equivalente a $50 adicional. Disculpe. "

                        , "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

                this.txtNUMDetalle.Text = (cont++ + 1).ToString();

                string[] lineaFactura = { _BLLFactura.GetCurrentNumeroFactura().ToString(),
                                          (cont).ToString(),
                                          oFacturaDetalle.Precio.ToString(),
                                          oFacturaDetalle._Reservacion.ID.ToString(),
                                          this.txtNumeroTarjeta.Text,
                                          DateTime.Now.Date.ToString(),
                                          this.cmbEstado.SelectedItem.ToString() };

                this.dgvDetalleFactura.Rows.Add(lineaFactura);
            }
            catch (Exception er)
            {
                StringBuilder msg = new StringBuilder();
                msg.AppendFormat("Message        {0}\n", er.Message);
                msg.AppendFormat("Source         {0}\n", er.Source);
                msg.AppendFormat("InnerException {0}\n", er.InnerException);
                msg.AppendFormat("StackTrace     {0}\n", er.StackTrace);
                msg.AppendFormat("TargetSite     {0}\n", er.TargetSite);
                // Log error
                _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                // Mensaje de Error
                MessageBox.Show("Se ha producido el siguiente error " + er.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #7
0
ファイル: frmFacturacion.cs プロジェクト: geor8jl/Resume-CV
        private void toolStripBtnFacturar_Click(object sender, EventArgs e)
        {
            IBLLEncFactura _BLLFactura    = new BLLEncFactura();
            IBLLTarjeta    _BLLTarjeta    = new BLLTarjeta();
            IBLLHuesped    _BLLHuesped    = new BLLHuesped();
            IBLLHabitacion _BLLHabitacion = new BLLHabitacion();

            IBLLImpuesto _BLLImpuesto = new BLLImpuesto();

            DetFactura oFacturaDetalle = new DetFactura();

            this.cmbEstado.SelectedIndex = 1;

            IBLLReservacion _BLLReservacion = new BLLReservacion();


            Tarjeta oTarjeta      = new Tarjeta();
            string  rutaImagen    = @"c:\temp\qr.png";
            double  numeroFactura = 0d;

            try
            {
                _FacturaEncabezado = new EncFactura()
                {
                    IDFactura  = Double.Parse(this.txtNumeroFactura.Text),
                    _Tarjeta   = cmbTarjeta.SelectedItem as Tarjeta,//_BLLTarjeta.GetTarjetaById(Double.Parse(this.txtNumeroTarjeta.Text)),
                    Fecha      = DateTime.Now.Date,
                    EstadoFact = this.cmbEstado.SelectedIndex.ToString(),
                };

                oFacturaDetalle._EncFactura  = _BLLFactura.GetFactura(Double.Parse(this.txtNumeroFactura.Text));
                oFacturaDetalle._Reservacion = _BLLReservacion.GetReserva(Double.Parse(this.mskIDReserva.Text.ToString()));



                oFacturaDetalle.Precio = Double.Parse(this.txtPrecio.Text.ToString());

                // Calcular el Impuesto
                IBLLImpuesto _BLLImpuestotest = new BLLImpuesto();
                oFacturaDetalle._Impuesto = _BLLImpuestotest.GetImpuesto();
                // Enumerar la secuencia
                oFacturaDetalle.Numero = _FacturaEncabezado._ListaFacturaDetalle.Count == 0 ?
                                         1 : _FacturaEncabezado._ListaFacturaDetalle.Max(p => p.Numero) + 1;

                ;
                // Agregar
                _FacturaEncabezado.AddDetalle(oFacturaDetalle);


                if (_FacturaEncabezado == null)
                {
                    MessageBox.Show("No hay datos por facturar", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                if (_FacturaEncabezado._ListaFacturaDetalle.Count == 0)
                {
                    MessageBox.Show("No hay items en la factura ", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }



                this.txtSubtotal.Text = _FacturaEncabezado.GetSubTotal().ToString();
                this.txtImpuesto.Text = _FacturaEncabezado.GetImpuesto().ToString();
                this.txtTotal.Text    = (_FacturaEncabezado.GetSubTotal() + (_FacturaEncabezado.GetImpuesto())).ToString();

                _FacturaEncabezado = _BLLFactura.SaveFactura(_FacturaEncabezado);

                numeroFactura = _BLLFactura.GetCurrentNumeroFactura();

                EstadoHabitaciones();

                if (_FacturaEncabezado == null)
                {
                    MessageBox.Show("Error al crear factura!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                //toolStripBtnNuevo_Click(null, null);


                // Si existe borrelo
                if (File.Exists(rutaImagen))
                {
                    File.Delete(rutaImagen);
                }


                // Crear imagen quickresponse
                Image quickResponseImage = QuickResponse.QuickResponseGenerador(numeroFactura.ToString(), 53);



                // Salvarla en c:\temp para luego ser leida
                quickResponseImage.Save(rutaImagen, ImageFormat.Png);

                frmFacturaImpresion ofrmFacturaImpresion = new frmFacturaImpresion((int)numeroFactura, _BLLHuesped.GetHuespedById(Double.Parse(this.txtIdHuesped.Text)).Nombre);


                ofrmFacturaImpresion.ShowDialog();


                this.txtNumeroTarjeta.Text    = "";
                this.txtNumHabitacion.Text    = "";
                this.txtNUMDetalle.Text       = "1";
                this.txtImpuesto.Text         = "";
                this.txtIdHuesped.Text        = "";
                this.txtCantDias.Text         = "";
                this.txtPrecio.Text           = "";
                this.txtSubtotal.Text         = "";
                this.txtTotal.Text            = "";
                this.cmbEstado.SelectedIndex  = 0;
                this.cmbTarjeta.SelectedIndex = 0;
                this.Subtotal.Text            = "";
                this.mskIDReserva.Text        = "";
                this.dgvDetalleFactura.Rows.Clear();
                this.dgvDetalleFactura.Refresh();
            }
            catch (Exception er)
            {
                StringBuilder msg = new StringBuilder();
                msg.AppendFormat("Message        {0}\n", er.Message);
                msg.AppendFormat("Source         {0}\n", er.Source);
                msg.AppendFormat("InnerException {0}\n", er.InnerException);
                msg.AppendFormat("StackTrace     {0}\n", er.StackTrace);
                msg.AppendFormat("TargetSite     {0}\n", er.TargetSite);
                // Log error
                _MyLogControlEventos.ErrorFormat("Error {0}", msg.ToString());
                // Mensaje de Error
                MessageBox.Show("Se ha producido el siguiente error " + er.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }