Пример #1
0
 public void InitializeObervaciones(ECMP_OrdenServicioDetalle ObjECMP_OrdenServicioDetalle)
 {
     InitializeComponent();
     this.DataContext = ObjECMP_OrdenServicioDetalle;
     this.KeyDownCmpButtonTitleTecla(
         ActionCtrlD: btnVolverIsClicked);
     MyIsOpenChanged();
 }
Пример #2
0
        /// <summary>
        /// Calcula los valores del registro seleccionado
        /// </summary>
        private void CalcularTotalesItems(ECMP_OrdenServicioDetalle ObjECMP_OrdenServicioDetalle)
        {
            try
            {
                var varObjECMP_OrdenServicio = (ECMP_OrdenServicio)MyHeader.DataContext;
                //factura
                if (rbIncluidoIGV.IsChecked.Value)
                {
                    //Calculo con incluir IGV
                    decimal dmlPrecioUnitario = decimal.Round((ObjECMP_OrdenServicioDetalle.PrecioUnitarioTemp / ((decimal.Round(varObjECMP_OrdenServicio.IGV * 100, 2) + 100) / 100)), 8);
                    decimal dmlImporte        = decimal.Round((dmlPrecioUnitario * ObjECMP_OrdenServicioDetalle.Cantidad), 8);
                    decimal dmlImporteIGV     = decimal.Round(dmlImporte * varObjECMP_OrdenServicio.IGV, 8);

                    ObjECMP_OrdenServicioDetalle.PrecioUnitario = dmlPrecioUnitario;
                    ObjECMP_OrdenServicioDetalle.Importe        = dmlImporte;
                    ObjECMP_OrdenServicioDetalle.ImporteIGV     = dmlImporteIGV;
                }
                else if (rbExonerado.IsChecked.Value)
                {
                    //Calculo cuando es Honorario
                    decimal dmlTasa    = 0;
                    decimal dmlImporte = ObjECMP_OrdenServicioDetalle.PrecioUnitarioTemp * ObjECMP_OrdenServicioDetalle.Cantidad;
                    if (chkAplicarRetencion.IsChecked.Value)
                    {
                        dmlTasa = (SGCMethod.GetTasaHonorario(dmlImporte) / 100);
                    }
                    decimal dmlImporteIGV = (dmlImporte * dmlTasa);

                    ObjECMP_OrdenServicioDetalle.PrecioUnitario = decimal.Round(ObjECMP_OrdenServicioDetalle.PrecioUnitarioTemp, 8);
                    ObjECMP_OrdenServicioDetalle.Importe        = decimal.Round(dmlImporte, 8);
                    ObjECMP_OrdenServicioDetalle.ImporteIGV     = decimal.Round(dmlImporteIGV, 8);
                }
                else
                {
                    //Calculo sin incluir IGV
                    decimal dmlImporte    = decimal.Round((ObjECMP_OrdenServicioDetalle.PrecioUnitarioTemp * ObjECMP_OrdenServicioDetalle.Cantidad), 8);
                    decimal dmlImporteIGV = decimal.Round(dmlImporte * varObjECMP_OrdenServicio.IGV, 8);

                    ObjECMP_OrdenServicioDetalle.PrecioUnitario = ObjECMP_OrdenServicioDetalle.PrecioUnitarioTemp;
                    ObjECMP_OrdenServicioDetalle.Importe        = dmlImporte;
                    ObjECMP_OrdenServicioDetalle.ImporteIGV     = dmlImporteIGV;
                }

                CalcularTotales();
            }
            catch (Exception) { }
        }