private bool ValicacionesFacturaVenta(out string resultado, DaoFacturacion dao) { resultado = dao.ExisteDocumento(this.Request.NitEmpresa, this.Request.entrada.Documento) == true ? "El numero de documeto ya esta registrado" : ""; if (!string.IsNullOrEmpty(resultado)) { return(false); } //return ArmarRespuesta("305", "Número de documento invalido", "El numero de documeto ya esta registrado", false); return(true); }
private bool ValidacionesNotaCredito(out string resultado, DaoFacturacion dao) { resultado = !string.Equals(this.Request.entrada.Documento, EnumFactura.GetStringValue(EnumFactura.TipoFactura.NotaCredito), StringComparison.InvariantCultureIgnoreCase) ? "Parametro Documento no valido para Nota Credito" : ""; if (!string.IsNullOrEmpty(resultado)) { return(false); } resultado = string.IsNullOrEmpty(this.Request.entrada.DocumentoFacturaReferencia) ? "Parametro DocumentoFacturaReferencia obligatorio" : ""; if (!string.IsNullOrEmpty(resultado)) { return(false); } resultado = dao.ExisteDocumento(this.Request.NitEmpresa, this.Request.entrada.DocumentoFacturaReferencia) == false ? "El numero DocumentoFacturaReferencia no esta registrado" : ""; if (!string.IsNullOrEmpty(resultado)) { return(false); } //return ArmarRespuesta("305", "Número de documento invalido", "El numero de documeto ya esta registrado", false); return(true); }
public DTODocumentoSalida RegistrarFactura() { try { string validacion = ""; if (!autenticar(out validacion)) { return(ArmarRespuesta("301", validacion, validacion, false)); } this.Request.ValidarObligatorios(out validacion); if (!string.IsNullOrEmpty(validacion)) { return(ArmarRespuesta("305", validacion, validacion, false)); } this.Request.entrada.ValidarObligatorios(out validacion); if (!string.IsNullOrEmpty(validacion)) { return(ArmarRespuesta("305", validacion, validacion, false)); } this.Request.entrada.Cliente.ValidarObligatorios(out validacion); if (!string.IsNullOrEmpty(validacion)) { return(ArmarRespuesta("305", validacion, validacion, false)); } if (this.Request.entrada.Impuestos != null) { foreach (var impuesto in this.Request.entrada.Impuestos) { impuesto.ValidarObligatorios(out validacion); if (!string.IsNullOrEmpty(validacion)) { return(ArmarRespuesta("305", validacion, validacion, false)); } } } foreach (var referencia in this.Request.entrada.Referencias) { referencia.ValidarObligatorios(out validacion); if (!string.IsNullOrEmpty(validacion)) { return(ArmarRespuesta("305", validacion, validacion, false)); } } string resultado = ""; DaoFacturacion dao = new DaoFacturacion(); var parametros = dao.ConsultarParametros(); if (ValidarDataObligatoria(out resultado, parametros)) { if (ValidarDataOpcional(out resultado, parametros)) { ResponseDocInvoiceRegistrar respuesta = null; int result = -1; if (!int.TryParse(this.Request.entrada.TipoDocumentoElectronico, out result)) { return(ArmarRespuesta("305", "Parametro invalido", "Parametro TipoDocumentoEmpresa no valido", false)); } var factura = Utilidades.SerializarObjetoAStringXml(this.Request); _auditor.Info("Request servicio " + factura); if (result == Convert.ToInt32(EnumFactura.TipoFactura.FacturaVenta)) { if (!ValicacionesFacturaVenta(out resultado, dao)) { return(ArmarRespuesta("305", "Parametro invalido", resultado, false)); } respuesta = dao.RegistrarFacura(factura); _auditor.Info("Response RegistrarFacura" + respuesta.Doc_ID + " - " + respuesta.Doc_Cufe); } else if (result == Convert.ToInt32(EnumFactura.TipoFactura.NotaDebito)) { if (!ValidacionesNotaDebito(out resultado, dao)) { return(ArmarRespuesta("305", "Parametro invalido", resultado, false)); } respuesta = dao.RegistrarNotaDebito(factura); _auditor.Info("Response RegistrarFacura" + respuesta.Doc_ID + " - " + respuesta.Doc_Cufe); } else if (result == Convert.ToInt32(EnumFactura.TipoFactura.NotaCredito)) { if (!ValidacionesNotaCredito(out resultado, dao)) { return(ArmarRespuesta("305", "Parametro invalido", resultado, false)); } respuesta = dao.RegistrarNotaCredito(factura); _auditor.Info("Response RegistrarFacura" + respuesta.Doc_ID + " - " + respuesta.Doc_Cufe); } else { return(ArmarRespuesta("305", "Parametro invalido", "Parametro TipoDocumentoEmpresa no valido", false)); } if (respuesta != null && respuesta.Doc_ID != 0) { this.cufe = respuesta.Doc_Cufe; this.idDocumento = respuesta.Doc_ID; return(ArmarRespuesta("200", "Exitoso", "Exitoso", true)); } else { return(ArmarRespuesta("305", respuesta.Doc_Cufe, respuesta.Doc_Cufe, false)); } } else { return(ArmarRespuesta("305", resultado, resultado, false)); } } else { return(ArmarRespuesta("305", resultado, resultado, false)); } } catch (Exception ex) { _auditor.Error(new ExcepcionLogable { Mensaje = ex.Message, StackTrace = ex.StackTrace }); return(ArmarRespuesta("305", "Datos Inconsistentes o incompletos", "Datos Inconsistentes o incompletos", false)); } }