Exemplo n.º 1
0
        /// <summary>
        /// Inserta la informacion de una factura y su detalle.
        /// </summary>
        /// <param name="factura"></param>
        /// <returns></returns>
        public bool InsertarFactura(ref Factura factura)
        {
            bool retorno = false;

            using (SqlConnection connection = new SqlConnection(CONNECTIONSTRING))
            {
                connection.Open();
                SqlCommand     command = connection.CreateCommand();
                SqlTransaction transaction;
                transaction         = connection.BeginTransaction();
                command.Connection  = connection;
                command.Transaction = transaction;
                try
                {
                    ManejadorFactura facturadb = new ManejadorFactura(connection, transaction);
                    facturadb.Factura = factura;



                    if (facturadb.Insertar())
                    {
                        factura.IdFactura = int.Parse(facturadb.Identity.ToString());

                        foreach (DetalleFactura item in factura.DetalleFactura)
                        {
                            ManejadorTarifaServicio tarifaserviciobd = new ManejadorTarifaServicio(connection, transaction);
                            TarifaServicio          tarifaservicio   = tarifaserviciobd.SeleccionarTarifa(item.Servicio.IdServicio, factura.Cliente.Estrato.IdEstrato);

                            item.Factura      = factura;
                            item.ValorConsumo = item.CantidadConsumo * tarifaservicio.ValorServicio;


                            ManejadorDetalleFactura ManejadorDetalleFactura = new ManejadorDetalleFactura(connection, transaction);
                            ManejadorDetalleFactura.DetalleFactura = item;
                            if (!ManejadorDetalleFactura.Insertar())
                            {
                                throw new Exception("Error registrando el detalle");
                            }
                        }



                        transaction.Commit();
                        retorno = true;
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }
            return(retorno);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Inserta la informacion de un estrato y sus tarifas por servicio
        /// </summary>
        /// <param name="estrato"></param>
        /// <param name="TarifaTv"></param>
        /// <param name="TarifaTel"></param>
        /// <param name="TarifaNet"></param>
        /// <returns></returns>
        public bool InsertarEstrato(ref Estrato estrato, decimal TarifaTv, decimal TarifaTel, decimal TarifaNet)
        {
            bool retorno = false;

            using (SqlConnection connection = new SqlConnection(CONNECTIONSTRING))
            {
                connection.Open();
                SqlCommand     command = connection.CreateCommand();
                SqlTransaction transaction;
                transaction         = connection.BeginTransaction();
                command.Connection  = connection;
                command.Transaction = transaction;
                try
                {
                    ManejadorEstrato estratodb = new ManejadorEstrato(connection, transaction);
                    estratodb.Estrato = estrato;
                    if (estratodb.Insertar())
                    {
                        estrato.IdEstrato = byte.Parse(estratodb.Identity.ToString());

                        List <TarifaServicio> Tarifas = new List <TarifaServicio>();
                        Tarifas.Add(new TarifaServicio()
                        {
                            Unidad = new UnidadTarifa()
                            {
                                IdUnidad = 1,
                            },
                            IdServicio    = 1,
                            ValorServicio = TarifaTv
                        });
                        Tarifas.Add(new TarifaServicio()
                        {
                            Unidad = new UnidadTarifa()
                            {
                                IdUnidad = 2
                            },
                            IdServicio    = 2,
                            ValorServicio = TarifaTel
                        });
                        Tarifas.Add(new TarifaServicio()
                        {
                            Unidad = new UnidadTarifa()
                            {
                                IdUnidad = 3
                            },
                            IdServicio    = 3,
                            ValorServicio = TarifaNet
                        });

                        foreach (TarifaServicio item in Tarifas)
                        {
                            ManejadorTarifaServicio manejador = new ManejadorTarifaServicio(connection, transaction);
                            item.Estrato             = estrato;
                            manejador.TarifaServicio = item;
                            manejador.Insertar();
                        }


                        transaction.Commit();
                        retorno = true;
                    }
                }
                catch (Exception ex)
                {
                    transaction.Rollback();
                    throw ex;
                }
            }
            return(retorno);
        }