public cConcepto BuscarPorID(Int16 ID) { try { return(ConcCxCDA.BuscarPorID(ID)); } catch (Exception Ex) { throw Ex; } }
private Boolean ValidacionReferencia(cCuentasCobrar Cuenta) { //Validamos si la referencia existe en caso de que el concepto asi lo requiera Byte Concepto = Convert.ToByte(Cuenta.CodigoConcepto); if (ConcCxCDA.BuscarPorID(Concepto).Referencia == "S") { if (Cuenta.CodigoReferencia.ToString() != String.Empty) { return(true); } else { throw new Exception("Error al guardar movimiento, Debe especificar la referencia del movimiento"); } } else { return(true); } }
public void GuardarCambios(cCuentasCobrar Cuenta) { try { if (ValidacionDocumentos(Cuenta)) { //Si el almacen existe entonces actualizamos if (CuentaCobrarDA.Existe(Cuenta.Codigo)) { CuentaCobrarDA.Actualizar(Cuenta); } else //Si el almacen es nuevo entonces creamos { if ((CuentaCobrarDA.Existe(Cuenta.CodigoDocumento.ToString(), (Int32)Cuenta.CodigoCliente)) == false || (ConcCxCDA.BuscarPorID((Int16)Cuenta.CodigoConcepto).Referencia == "S")) { if (ValidacionReferencia(Cuenta)) { CuentaCobrarDA.Crear(Cuenta); } } else { throw new Exception("El documento ya existe para el cliente seleccionado, favor revise nuevamente"); } } } } catch (Exception Ex) { throw Ex; } }
public void CancelarDocumento(cCuentasCobrar Cuenta) { //Cancelacion de un abono //Localizamos el concepto para verificar el tipo cConcepto Concepto = ConcCxCDA.BuscarPorID((Int16)Cuenta.CodigoConcepto); //Tipo Abono if (Concepto.Tipo.ToString() == "A") { //Verificamos si el documento es tipo Nota de Credito y si esta cancelado if (Concepto.Descripcion.ToString() == "Nota de Credito") { //Documento Nota de Credito cFactura stNotaCredito = FacturaDA.BuscarPorID(Cuenta.CodigoFactura, "D"); //Verificamos Si esta Cancelado if (stNotaCredito.EstatusID.ToString() == "C") { //Cancelamos la transaccion Cuenta.Estatus = false; GuardarCambios(Cuenta); } else { throw new Exception("El documento no puede ser cancelado, la nota de credito se encuentra vigente en el sistema"); } } else { //Si es un Abono cancelamos la transaccion Cuenta.Estatus = false; GuardarCambios(Cuenta); } } else { //Verificamos el estatus de la factura en caso de que sea if (Concepto.Descripcion.ToString() == "Factura") { cFactura stFactura = FacturaDA.BuscarPorID(Cuenta.CodigoFactura, "F"); //Si la factura esta cancelada cancelamos la transaccion if (stFactura.EstatusID.ToString() == "C") { Cuenta.Estatus = false; GuardarCambios(Cuenta); } else { throw new Exception("El documento no puede ser cancelado, la factura se encuentra vigente en el sistema"); } } else { //Si es un cargo aplicado verificamos que no tenga pagos vigentes List <cCuentasCobrar> ListaPagos = (from c in ListaPagoCargos(Cuenta.CodigoFactura.ToString(), (Int32)Cuenta.CodigoCliente) select c).ToList(); //Si tiene Cargos o pagos relacionados if (ListaPagos.Count == 0) { Cuenta.Estatus = false; GuardarCambios(Cuenta); } else { throw new Exception("El documento no puede ser cancelado, el documento contiene pagos o cargos aplicados"); } } } }