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; } }
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); }