예제 #1
0
        /// <summary>
        /// Imprime un reporte orden de Servicio
        /// </summary>
        private void ImprimirOrdenServicio(string Estado = "%")
        {
            try
            {
                var varObjECMP_OrdenServicio           = (ECMP_OrdenServicio)MyHeader.DataContext;
                var vrObjListECMP_OrdenServicioDetalle = new BCMP_OrdenServicioDetalle().ListAdministrarOrdenServicioDetalle(varObjECMP_OrdenServicio);
                vrObjListECMP_OrdenServicioDetalle.ForEach((x) =>
                {
                    x.Importe = x.Cantidad * x.PrecioUnitario;
                });
                string[] parametro;
                string   direccion = new BALM_Almacen().ListFiltrarAlmacen(varObjECMP_OrdenServicio.ObjESGC_EmpresaSucursal).FirstOrDefault().Direccion;
                string   Monto     = Convert.ToDecimal(txtTotal.Text).ToString();
                parametro = new string[]
                {
                    "prmRazonSocial|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.RazonSocial,
                    "prmRuc|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.Ruc,
                    "prmDireccionEmpresa|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.DireccionFiscal,
                    "prmTelefonoEmpresa|" + SGCVariables.ObjESGC_Usuario.ObjESGC_Empresa.Telefono,
                    "prmFechaDocumento|" + varObjECMP_OrdenServicio.Fecha.ToShortDateString(),
                    "prmFechaLetra|" + DateTime.Now.ToLongDateString().Split(',').ElementAt(1),
                    "prmNumOrden|" + varObjECMP_OrdenServicio.Serie + " - " + varObjECMP_OrdenServicio.Numero,
                    "prmProveedor|" + varObjECMP_OrdenServicio.ObjEMNF_ClienteProveedor.RazonSocial,
                    "prmRucProveedor|" + varObjECMP_OrdenServicio.ObjEMNF_ClienteProveedor.NroDocIdentidad,
                    "prmDireccionProv|" + varObjECMP_OrdenServicio.ObjEMNF_ClienteProveedor.Direccion,
                    "prmCondicionPago|" + varObjECMP_OrdenServicio.ObjESGC_FormaPago.FormaPago,
                    "prmNetoLetra|" + NumLetras.Convertir(Monto, true, varObjECMP_OrdenServicio.ObjESGC_Moneda.Descripcion),
                    "prmTotal|" + varObjECMP_OrdenServicio.ObjESGC_Moneda.Simbolo + " " + txtGravada.Text,
                    "prmIgv|" + varObjECMP_OrdenServicio.ObjESGC_Moneda.Simbolo + " " + txtImporteIGV.Text,
                    "prmGravadaText|" + lblTitleOrdenServicio02.Text,
                    "prmIgvText|" + lblTitleOrdenServicio03.Text,
                    "prmNetoText|" + strNetoText,
                    "prmNeto|" + varObjECMP_OrdenServicio.ObjESGC_Moneda.Simbolo + " " + txtTotal.Text,
                    "prmSucursal|" + varObjECMP_OrdenServicio.ObjESGC_EmpresaSucursal.Sucursal + " " + txtTotal.Text,
                    "prmDireccionSucursal|" + direccion,
                    "prmFechaFin|" + varObjECMP_OrdenServicio.FechaFin.ToShortDateString(),
                    "prmMoneda|" + varObjECMP_OrdenServicio.ObjESGC_Moneda.Descripcion,
                    "prmCreadopor|" + varObjECMP_OrdenServicio.Creacion,
                    "prmAprobadopor|" + SGCVariables.ObjESGC_Usuario.Nombres + " " + SGCVariables.ObjESGC_Usuario.Apellidos,
                };

                //vrObjListECMP_OrdenServicioDetalle.AgregarEnReportViewer(new MainReports(), "CMP.Reports.Files.RptOrdenServicio.rdlc", "dtsOrdenServicioDetalle", parametro);

                MainRerport ObjMainRerport = new MainRerport();
                ObjMainRerport.InitializeMainRerport("CMP.Reports.Files.RptOrdenServicio.rdlc", "dtsOrdenServicioDetalle", vrObjListECMP_OrdenServicioDetalle, parametro);
                ObjMainRerport.ShowDialog();
            }
            catch (Exception ex)
            {
                CmpMessageBox.Show(CMPMensajes.TitleAprobacionOrdenServicio, ex.Message, CmpButton.Aceptar);
            }
        }
예제 #2
0
        /// <summary>
        /// Carga datos del orden de compra
        /// </summary>
        private void LoadDetail()
        {
            dgDetalleServicio.Items.Clear();
            var vrListECMP_OrdenServicioDetalle = new List <ECMP_OrdenServicioDetalle>();
            var vrListPeriodoCapania            = new List <ECMP_ValueComboBox>();
            var varObjECMP_OrdenServicio        = (ECMP_OrdenServicio)MyHeader.DataContext;

            string strOutMessageError = string.Empty;

            CmpTask.Process(
                () =>
            {
                try
                {
                    vrListECMP_OrdenServicioDetalle = new BCMP_OrdenServicioDetalle().ListAdministrarOrdenServicioDetalle(varObjECMP_OrdenServicio);

                    int Anio = Convert.ToInt32(varObjECMP_OrdenServicio.Periodo.Substring(0, varObjECMP_OrdenServicio.Periodo.Length - 2));
                    for (int i = Anio - 1; i <= Anio + 1; i++)
                    {
                        vrListPeriodoCapania.Add(new ECMP_ValueComboBox()
                        {
                            Item = i.ToString(), Value = i.ToString()
                        });
                    }
                }
                catch (Exception ex)
                {
                    strOutMessageError = ex.Message;
                }
            },
                () =>
            {
                if (strOutMessageError.Length > 0)
                {
                    CmpMessageBox.Show(CMPMensajes.TitleAprobacionOrdenServicio, strOutMessageError, CmpButton.Aceptar);
                }
                else
                {
                    var ObjECMP_OrdenServicio = (ECMP_OrdenServicio)MyHeader.DataContext;
                    foreach (var item in vrListECMP_OrdenServicioDetalle)
                    {
                        item.ListPeriodoCampania = vrListPeriodoCapania;
                        if (varObjECMP_OrdenServicio.Exonerado == 12) //INCLUYE IGV
                        {
                            decimal dmlCalculoIGV = (item.PrecioUnitario * varObjECMP_OrdenServicio.IGV);
                            item.PrecioUnitario   = decimal.Round(dmlCalculoIGV + item.PrecioUnitario, 8);
                        }
                        LoadTipoDestino();
                        dgDetalleServicio.Items.Add(item);
                        CalcularTotalesItems(item);
                    }

                    txtGravada.Text    = ObjECMP_OrdenServicio.Gravada.ToString("###,###,##0.#0");
                    txtImporteIGV.Text = ObjECMP_OrdenServicio.ImporteIGV.ToString("###,###,##0.#0");

                    //factura
                    if (rbIncluidoIGV.IsChecked.Value)
                    {
                        //Calculo con incluir IGV
                        txtTotal.Text = decimal.Round((ObjECMP_OrdenServicio.Gravada + ObjECMP_OrdenServicio.ImporteIGV), 2).ToString("###,###,##0.#0");
                    }
                    else if (rbExonerado.IsChecked.Value)
                    {
                        //Calculo cuando es Honorario
                        txtTotal.Text = decimal.Round((ObjECMP_OrdenServicio.Gravada - ObjECMP_OrdenServicio.ImporteIGV), 2).ToString("###,###,##0.#0");
                    }
                    else if (chkAplicarRetencion.IsChecked.Value)
                    {
                        //Calculo cuando es Renta de segunda categoria
                        txtTotal.Text = decimal.Round((ObjECMP_OrdenServicio.Gravada - ObjECMP_OrdenServicio.ImporteIGV), 2).ToString("###,###,##0.#0");
                    }
                    else
                    {
                        //Calculo sin incluir IGV
                        txtTotal.Text = decimal.Round((ObjECMP_OrdenServicio.Gravada + ObjECMP_OrdenServicio.ImporteIGV), 2).ToString("###,###,##0.#0");
                    }
                }
            });
        }