Beispiel #1
0
        public CommandContracts.Common.CommandResult Handle(InsertarActualizarComprobanteClienteCommand command)
        {
            if (command == null)
            {
                throw new ArgumentException("Tiene que ingresar un comando");
            }


            ComprobanteCliente dominio = null;

            if (command.iddocumentocompra.HasValue)
            {
                dominio = _ComprobanteClienteRepository.Get(x => x.iddocumentocompra == command.iddocumentocompra).LastOrDefault();
            }
            else
            {
                dominio = new ComprobanteCliente();
            }

            if (!command.iddocumentocompra.HasValue)
            {
                dominio.fechahoraregistro = command.fechahoraregistro;
                dominio.idusuarioregistro = command.idusuarioregistro;
            }
            dominio.igv                   = command.igv;
            dominio.descripcion           = command.descripcion;
            dominio.subtotal              = command.subtotal;
            dominio.total                 = command.total;
            dominio.fechaemision          = command.fechaemision;
            dominio.idestado              = command.idestado;
            dominio.idcliente             = command.idcliente;
            dominio.idconceptofacturacion = command.idconceptofacturacion;
            dominio.idsucursalventa       = command.idsucursalventa;
            dominio.numerocomprobante     = command.numerocomprobante;
            dominio.total                 = command.total;
            dominio.ventaenlinea          = command.ventaenlinea;
            dominio.ventapartner          = command.ventapartner;
            dominio.idtipodocumentocompra = command.idtipodocumentocompra;
            dominio.idpartner             = command.idpartner;



            try
            {
                if (!command.iddocumentocompra.HasValue)
                {
                    _ComprobanteClienteRepository.Add(dominio);
                }
                _ComprobanteClienteRepository.Commit();


                return(new InsertarActualizarComprobanteClienteOutput()
                {
                    iddocumentocompra = dominio.iddocumentocompra
                });
            }
            catch (Exception ex)
            {
                //_ValortablaRepository.Delete(dominio);
                //_ValortablaRepository.Commit();
                throw;
            }
        }
Beispiel #2
0
        public Result GetComprobante(int idComprobante)
        {
            var response       = new Result();
            var objectResponse = new ComprobanteCliente();
            var reportResponse = new List <ComprobanteVenta>();
            var resultZip      = new Result();

            try
            {
                var    barCodeData = _iCVentaService.GetLisDatosGeneraCodigoBarra(idComprobante).Single();
                string contents    = barCodeData.NroDocumentoEmisor + "|" + barCodeData.TipoDocumento + "|";
                contents += barCodeData.NroComprobante.Replace("-", "|") + "|" + barCodeData.TotalIgv + "|";
                contents += barCodeData.TotalVenta + "|" + barCodeData.FechaEmision + "|" + barCodeData.TipoDocumentoReceptor + "|";
                contents += barCodeData.NroDocumentoReceptor + "|" + barCodeData.DigestValue + "|-|-";
                _iGenerateBarCode.GenerateImg(contents);

                objectResponse = _iCVentaService.GetLisIdComprobanteCliente(idComprobante).SingleOrDefault();
                reportResponse = _iCVentaService.GetReporteComprobanteVenta(idComprobante).ToList();
                var reportObjectResponse = reportResponse.SingleOrDefault();
                //var reportDtResponse = Helper.ConvertToDatatable(reportResponse);
                var tipoPDF = 1;
                if (reportObjectResponse.IdTipoOperacion.Equals("02"))
                {
                    if (reportObjectResponse.OperacionName.ToUpper().Trim().Equals("EXPORTACIÓN"))
                    {
                        tipoPDF = 2;
                    }
                    else
                    {
                        tipoPDF = 1;
                    }
                }
                else
                {
                    tipoPDF = 1;
                }
                var gereraPdf = Helper.GenerarPdf(reportResponse, objectResponse.NombreArhivo.Replace(".xml", ".pdf"), tipoPDF);
                if (gereraPdf.Exito)
                {
                    string   xmlName = string.Concat(Helper.GetSettings(Constantes.PathFE), Constantes.XmlFolderName, "\\", objectResponse.NombreArhivo);
                    string   pdfName = string.Concat(Helper.GetSettings(Constantes.PathFE), Constantes.PdfFolderName, "\\", objectResponse.NombreArhivo.Replace(".xml", ".pdf"));
                    string[] files   = { xmlName, pdfName };
                    string   name    = objectResponse.NombreArhivo.Replace(".xml", "").Trim();
                    resultZip = Helper.ZipFile(files, name);
                    if (resultZip.Exit)
                    {
                        response.Exit       = true;
                        response.Message    = "La descarga se completó satisfactoriamente";
                        response.Weft       = resultZip.Weft.Length > 0 ? Convert.ToBase64String(File.ReadAllBytes(resultZip.Message)) : resultZip.Weft;
                        response.FolderName = objectResponse.NombreArhivo.Replace(".xml", ".zip");
                    }
                    else
                    {
                        response.Exit       = false;
                        response.Message    = null;
                        response.FolderName = null;
                        response.Weft       = null;
                    }
                }
                else
                {
                    response.Exit       = false;
                    response.Message    = null;
                    response.FolderName = null;
                    response.Weft       = null;
                }
            }
            catch (Exception ex)
            {
                _iLogService.SetLog(string.Concat(ex.Message, " | ", ex.Source, " | ", ex.StackTrace), null);
                response.Exit       = false;
                response.Message    = null;
                response.FolderName = null;
                response.Weft       = null;
                return(response);
            }
            finally
            {
                if (resultZip.Exit)
                {
                    File.Delete(resultZip.Message);
                }
            }
            return(response);
        }