Пример #1
0
        private string Guardar_DesgloseCA(FactFileRetailReq model)
        {
            int    IdDatosFactura;
            string result = string.Empty;

            try
            {
                //IdDatosFactura = (int)(new FactFileRetailRepository(UnidadNegocioKeys.AppWebs).GuardarDatosFacturacion(model)["pNumId_out"]);
                IdDatosFactura = (int)_factFileRepository.GuardarDatosFacturacion(model);

                if (model.IdDatosFacturacion != 0)
                {
                    //new FactFileRetailRepository(UnidadNegocioKeys.AppWebs).EliminarDetalleTarifa(model.IdDatosFacturacion);
                    _factFileRepository.EliminarDetalleTarifa(model.IdDatosFacturacion);
                    //new FactFileRetailRepository(UnidadNegocioKeys.AppWebs).EliminarDetalleNoRecibos(model.IdDatosFacturacion);
                    _factFileRepository.EliminarDetalleNoRecibos(model.IdDatosFacturacion);
                }

                //new FactFileRetailRepository(UnidadNegocioKeys.AppWebs).GuardarDetalleTarifa(model, IdDatosFactura);
                _factFileRepository.GuardarDetalleTarifa(model, IdDatosFactura);
                //new FactFileRetailRepository(UnidadNegocioKeys.AppWebs).GuardarDetalleNoRecibo(model, IdDatosFactura);
                _factFileRepository.GuardarDetalleNoRecibo(model, IdDatosFactura);

                result = Convert.ToString(IdDatosFactura);
                return(result);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        public IHttpActionResult Create(FactFileRetailReq models)
        {
            _factFileRepository = new FactFileRetailRepository();
            _CotizacionSRV      = new CotizacionSRV_AW_Repository();
            _datosUsuario       = new DatosUsuario();
            _datosOficina       = new DatosOficina();
            string _result      = "";
            string exceptionMsg = string.Empty;
            object response     = null;

            try
            {
                UsuarioLogin      objUsuarioLogin = _datosUsuario.Get_Dts_Usuario_Personal(models.IdUsuarioSrv_SF);
                int               IdUsuario       = objUsuarioLogin.IdUsuario;
                int               IdOfi           = objUsuarioLogin.IdOfi;
                int               IdDep           = objUsuarioLogin.IdDep;
                List <FileRetail> lstArchivos     = new List <FileRetail>();
                ///Guardar Datos de Facturacion
                models.IdUsuario = IdUsuario;

                _result = Guardar_DesgloseCA(models);

                ///Subir Archivos
                //var objArchivos = new List<FileRetail>; //(List<FileRetail>)System.Web.HttpContext.Current.SetSessionStateBehavior(Constantes_SRV.SES_LISTA_ARCHIVOS_DESGLOSE_CA);
                //lstArchivos = objArchivos;

                ///Insertar APPWEBS.WFF_POST_COT_VTA
                string pStrTextoPost = TemplateHtml(models, lstArchivos);
                string strIPUsuCrea  = "::1";

                ///ENviar CA TRUE
                Models.Retail.Oficina objOficina = new Models.Retail.Oficina();
                objOficina = _datosOficina.ObtieneOficinaXId(IdOfi);

                Boolean bolValor = EsAreaCounterPresencial(IdOfi, IdDep, objOficina.bolEsRipley);

                if (bolValor)
                {
                    bolValor = _CotizacionSRV._Liberar_UsuWeb_CA(models.Cot_Id);
                }

                _CotizacionSRV.Inserta_Post_Cot(models.Cot_Id, "1", pStrTextoPost,
                                                strIPUsuCrea, objUsuarioLogin.LoginUsuario, IdUsuario,
                                                IdDep, IdOfi, null, null, Constantes_SRV.INT_ID_ESTADO_COT_DERIVADO_A_CA, true, null,
                                                false, null, false, IdUsuario, IdOfi,
                                                IdDep, null, null, null, "", null);

                response = new
                {
                    CodigoError  = "OK",
                    MensajeError = "",
                    idFactura    = _result
                };

                return(Ok(response));
            }
            catch (Exception ex)
            {
                exceptionMsg = ex.Message;
                return(InternalServerError(ex));
            }
            finally
            {
                (new
                {
                    Request = models,
                    Response = response,
                    Exception = exceptionMsg
                }).TryWriteLogObject(_logFileManager, _clientFeatures);
            }
        }
Пример #3
0
        private string TemplateHtml(FactFileRetailReq models, List <FileRetail> lstArchivos)
        {
            try
            {
                string str = GenerarHtmlByRender(@"~/App_Data/TemplateDesglose.html");

                //// Template Datos Facturacion

                str = str.Replace("[DK]", models.DK);
                str = str.Replace("[campania]", models.Campania);
                str = str.Replace("[SubCodigo]", models.SubCodigo);
                str = str.Replace("[Ejecutiva]", models.Ejecutiva);
                str = str.Replace("[NumFileNM]", models.NUmFile_DM);
                str = str.Replace("[NumFileDM]", models.NumFile_NM);
                str = str.Replace("[CCB]", models.CCB);
                str = str.Replace("[Ruc]", models.RUC);
                str = str.Replace("[Razon]", models.RAZON);
                str = str.Replace("[Correo]", models.Correo);
                str = str.Replace("[TipoDocum]", models.TipoDocumento);
                str = str.Replace("[Descripcion_Doc_Cid]", models.Doc_cid);
                str = str.Replace("[Documento]", models.Documento);
                str = str.Replace("[Nombre]", models.Nombre);
                str = str.Replace("[ApellidoP]", models.ApellidoPaterno);
                str = str.Replace("[ApellidoM]", models.ApellidoMateno);
                str = str.Replace("[OaRipley]", models.OARipley);
                str = str.Replace("[MontoOA]", string.Format("{0:0.00}", models.MontoOA));

                // Template Factura
                str = str.Replace("[Banco]", models.Banco);
                str = str.Replace("[CantidadMillas]", models.CantidadMillas);
                str = str.Replace("[MontoMillas]", string.Format("{0:0.00}", models.MontoMillas));

                // Template Detalles de N° Recibo
                StringBuilder sbPostsRC = new StringBuilder();
                foreach (ReciboDetalle Item in models.ReciboDetalle)
                {
                    sbPostsRC.Append("<tr>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + Item.Sucursal + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + Item.NoRecibo + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + string.Format("{0:0.00}", Item.MontoRecibo) + "</td>" + "</tr>");
                }

                str = str.Replace("[trContentRC]", sbPostsRC.ToString());

                // Template Detalles de Tarifas
                StringBuilder sbPostsDTF = new StringBuilder();
                double        montoTotalADT = new double(), montoTotalCHD = new double(), montoTotalINF = new double();
                foreach (TarifaDetalle Item in models.TarifaDetalle)
                {
                    sbPostsDTF.Append("<tr>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + Item.GrupoServicio + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + Item.CantidadADT + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + string.Format("{0:0.00}", Item.MontoPorADT) + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + Item.CantidadCHD + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + string.Format("{0:0.00}", Item.MontoPorCHD) + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + Item.CantidadINF + "</td>" + "<td style='font-size:12px; padding:5px; text-align:center; border-top:1px solid black;'>" + string.Format("{0:0.00}", Item.MontoPorINF) + "</td>" + "</tr>");

                    montoTotalADT += Item.MontoPorADT;
                    montoTotalCHD += Item.MontoPorCHD;
                    montoTotalINF += Item.MontoPorINF;
                }

                sbPostsDTF.Append("<tr>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210); color:#BC0606;'><strong>Total</strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210); color:#BC0606;'></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210);'><strong>" + string.Format("{0:0.00}", montoTotalADT) + "</strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210); color:#BC0606;'></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210);'><strong>" + string.Format("{0:0.00}", montoTotalCHD) + "</strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210); color:#BC0606;'></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; background-color: rgb(202,207,210);'><strong>" + string.Format("{0:0.00}", montoTotalINF) + "</strong></td>" + "</tr>");

                string strMontoaCobrar = string.Format("{0:0.00}", (montoTotalADT + montoTotalCHD + montoTotalINF));
                sbPostsDTF.Append("<tr>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px; color:#BC0606;'><strong>Total a Cobrar</strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong></strong></td>" + "<td style='font-size:13px; padding:5px; text-align:center; border-top:1px;'><strong>" + "$" + strMontoaCobrar + "</strong></td>" + "</tr>");

                str = str.Replace("[trContentDTF]", sbPostsDTF.ToString());

                // Template Archivos
                StringBuilder sbPostsArchivos = new StringBuilder();
                if (lstArchivos != null)
                {
                    foreach (FileRetail objArchivos in lstArchivos)
                    {
                        sbPostsArchivos.Append("<tr>" + "<td>" + "<span style='font-size: 8pt; font-family: Arial; width:130px;'>" + "<p>" + "<div style='width:130px;'>" + "<a class='dowloandarchivo' data-rutaarchivo='" + objArchivos.RutaArchivo + "' data-nombrearchivo='" + objArchivos.NomArchivo + "' href='" + objArchivos.URLArchivo + "'>" + objArchivos.NomArchivo + "</a>" + "</div>" + "</p>" + "</span>" + "</td>" + "</tr>");
                    }
                    str = str.Replace("[Archivos]", sbPostsArchivos.ToString());
                }
                else
                {
                    str = str.Replace("[Archivos]", "");
                }

                return(str);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }