Esempio n. 1
0
 /// <summary>
 /// Método delegado para el evento bindeo de datos con la lista de costos adicionales
 /// </summary>
 /// <param name="sender">Objeto que desencadeno el evento</param>
 /// <param name="e">Argumento asociados al evento</param>
 protected void grvCostosAdicionales_RowDataBound(object sender, GridViewRowEventArgs e)
 {
     if (e.Row.RowType == DataControlRowType.DataRow)
     {
         DetalleTransaccionBO detalle = (DetalleTransaccionBO)e.Row.DataItem;
         Label label = (Label)e.Row.FindControl("lblTipoRenglon");
         label.Text = detalle.TipoRenglon.ToString();
     }
 }
Esempio n. 2
0
        /// <summary>
        /// Agrega un costo adicional a la factura
        /// </summary>
        public void AgregarCostoAdicional()
        {
            //RI0024, Validación de precio mayor a cero
            if (this.vista.Precio <= 0)
            {
                throw new Exception("El precio unitario del costo adicional debe de ser mayor a cero");
            }
            if (string.IsNullOrEmpty(this.vista.DescripcionProductoServicio))
            {
                throw new Exception("El producto o servicio es obligatorio.");
            }

            IGeneradorPaquetesFacturacionBR generador = this.ObtenerGeneradorPaquetes(this.vista.TipoContrato.GetValueOrDefault());
            DetalleTransaccionBO            detalle   = new DetalleTransaccionBO()
            {
                ProductoServicio = new ProductoServicioBO()
            };

            int?id = this.vista.CostosAdicionales
                     .Select(it => (int?)it.Id)
                     .Max();

            if (!id.HasValue)
            {
                id = 0;
            }
            id++;

            detalle.Id            = id;
            detalle.Cantidad      = 1;
            detalle.UnidadMedida  = generador.UnidadMedida;
            detalle.CostoUnitario = generador.Costo;
            detalle.AplicaIVA     = true;

            detalle.Articulo = new Basicos.BO.ArticuloBO();

            //SC0030
            detalle.Articulo.Nombre = String.Format("{0}: {1}", this.vista.Concepto, this.vista.Descripcion != null ? this.vista.Descripcion.ToUpper() : null);

            detalle.PrecioUnitario    = this.vista.Precio;
            detalle.DescuentoUnitario = 0M;
            detalle.RetencionUnitaria = 0M;

            detalle.TipoRenglon                  = this.vista.Concepto;
            detalle.ProductoServicio.Id          = this.vista.ProductoServicioId;
            detalle.ProductoServicio.NombreCorto = this.vista.ClaveProductoServicio;
            detalle.ProductoServicio.Nombre      = this.vista.DescripcionProductoServicio;
            detalle.Activo = true;

            this.vista.CostosAdicionales.Add(detalle);
            this.vista.MostrarListaCostosAdicionales();
            this.Limpiar();
        }
        /// <summary>
        /// Elimina un costo adicional a la factura
        /// </summary>
        /// <param name="id">Id del costo adicional a eliminar</param>
        public void EliminarCostoAdicional(int id)
        {
            DetalleTransaccionBO detalle = this.vista.CostosAdicionales
                                           .Where(it => it.Id == id)
                                           .FirstOrDefault();

            if (detalle != null)
            {
                this.vista.CostosAdicionales.Remove(detalle);
            }

            this.vista.MostrarListaCostosAdicionales();
        }
Esempio n. 4
0
        /// <summary>
        /// Método delegado para el evento de bindeo de datos con el repeater
        /// </summary>
        /// <param name="sender">Objeto que desencadeno el evento</param>
        /// <param name="e">Argumento asociados al evento</param>
        protected void rptLineas_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item ||
                e.Item.ItemType == ListItemType.AlternatingItem)
            {
                DetalleTransaccionBO detalleTransaccion = e.Item.DataItem as DetalleTransaccionBO;

                Label lblNoLinea = (Label)e.Item.FindControl("lblNoLinea");
                lblNoLinea.Text = String.Format("LÍNEA #{0}", ++this.numeroLinea);

                if (detalleTransaccion.TipoRenglon != null)
                {
                    TextBox txtTipoRenglon = (TextBox)e.Item.FindControl("txtTipoRenglon");
                    txtTipoRenglon.Text = detalleTransaccion.TipoRenglon.ToString();
                }
            }
        }
        /// <summary>
        /// Agrega un costo adicional a la factura
        /// </summary>
        public void AgregarCostoAdicional()
        {
            //RI0024, Validación de precio mayor a cero
            if (this.vista.Precio <= 0)
            {
                throw new Exception("El precio unitario del costo adicional debe de ser mayor a cero");
            }
            if (string.IsNullOrEmpty(this.vista.DescripcionProductoServicio))
            {
                throw new Exception("El producto o servicio es obligatorio.");
            }

            IGeneradorPaquetesFacturacionBR generador = this.ObtenerGeneradorPaquetes(this.vista.TipoContrato.GetValueOrDefault());
            DetalleTransaccionBO            detalle   = new DetalleTransaccionBO()
            {
                ProductoServicio = new ProductoServicioBO()
            };

            int?id = this.vista.CostosAdicionales
                     .Select(it => (int?)it.Id)
                     .Max();

            if (!id.HasValue)
            {
                id = 0;
            }
            id++;

            detalle.Id            = id;
            detalle.Cantidad      = 1;
            detalle.UnidadMedida  = generador.UnidadMedida;
            detalle.CostoUnitario = generador.Costo;
            detalle.AplicaIVA     = true;

            detalle.Articulo = new Basicos.BO.ArticuloBO();

            //SC0030
            detalle.Articulo.Nombre      = String.Format("{0}: {1}", this.vista.Concepto, this.vista.Descripcion != null ? this.vista.Descripcion.ToUpper() : null);
            detalle.Articulo.NombreCorto = this.vista.ClaveProductoServicio;
            detalle.PrecioUnitario       = this.vista.Precio;
            detalle.DescuentoUnitario    = 0M;
            detalle.RetencionUnitaria    = 0M;

            detalle.TipoRenglon                  = this.vista.Concepto;
            detalle.ProductoServicio.Id          = this.vista.ProductoServicioId;
            detalle.ProductoServicio.NombreCorto = this.vista.ClaveProductoServicio;
            detalle.ProductoServicio.Nombre      = this.vista.DescripcionProductoServicio;
            detalle.Activo = true;

            this.vista.CostosAdicionales.Add(detalle);
            this.vista.MostrarListaCostosAdicionales();
            this.Limpiar();

            #region [Agregar costo adicional a la sesión]
            //CargoAdicionalModel CostoAdicional = new CargoAdicionalModel();
            //CostoAdicional.LineaCostoAdicionalID = id;
            //CostoAdicional.Modificable = true;
            //CostoAdicional.TipoRenglon= Convert.ToInt32(this.vista.Concepto);
            //CostoAdicional.Cantidad = 1;
            //CostoAdicional.AplicaIVA = true;
            //CostoAdicional.PrecioUnitario = generador.Costo;
            //CostoAdicional.DescuentoUnitario = 0M;
            //CostoAdicional.RetencionUnitario = 0M;
            //CostoAdicional.ClaveProductoServicio = this.vista.ClaveProductoServicio;
            //CostoAdicional.Activo = true;
            //CostoAdicional.Estatus = "N";

            //List<LineasFacturaModel> linea = this.vista.LineaCostoFacturaModel as List<LineasFacturaModel>;

            //List<LineasFacturaModel> linea = this.vista.LineaCostoFacturaModel as List<LineasFacturaModel>;
            //foreach(LineasFacturaModel elemento in linea)
            //{
            //    if (elemento.PagoContratoPSLID == this.vista.PagoContratoID) {
            //        if (elemento.CargosAdicionales == null)
            //            elemento.CargosAdicionales = new List<CargoAdicionalModel>();
            //        elemento.CargosAdicionales.Add(CostoAdicional);
            //    }
            //}
            //this.vista.LineaCostoFacturaModel = linea;

            //this.vista.MostrarCostoAdicionalFactura(this.vista.PagoContratoID);
            #endregion
        }