public void InitializeObervaciones(ECMP_OrdenServicioDetalle ObjECMP_OrdenServicioDetalle) { InitializeComponent(); this.DataContext = ObjECMP_OrdenServicioDetalle; this.KeyDownCmpButtonTitleTecla( ActionCtrlD: btnVolverIsClicked); MyIsOpenChanged(); }
/// <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) { } }