/// <summary> /// Determina si a una factura ya se le puede cambiar su estado de cancelado a partir de sus detalles /// </summary> /// <param name="pFactura"></param> private void RevisaFacurasCanceladas(int pFactura) { DataClasses1DataContext dc = new DataClasses1DataContext(); List<SIGEEA_spObtenerDetalleFacturaAsociadoResult> lista = dc.SIGEEA_spObtenerDetalleFacturaAsociado(pFactura).ToList(); bool validador = true; foreach (SIGEEA_spObtenerDetalleFacturaAsociadoResult d in lista) { if (d.Cancelado_DetFacAsociado == false) { validador = false; break; } } if (validador == true) { SIGEEA_FacAsociado factura = dc.SIGEEA_FacAsociados.First(c => c.PK_Id_FacAsociado == pFactura); factura.CanNeta_FacAsociado = factura.CanNeta_FacAsociado; factura.CanTotal_FacAsociado = factura.CanTotal_FacAsociado; factura.Estado_FacAsociado = false; factura.FecEntrega_FacAsociado = factura.FecEntrega_FacAsociado; factura.FecPago_FacAsociado = DateTime.Now; factura.FK_Id_Asociado = factura.FK_Id_Asociado; factura.Incompleta_FacAsociado = factura.Incompleta_FacAsociado; factura.Observaciones_FacAsociado = factura.Observaciones_FacAsociado; dc.SubmitChanges(); } }
/// <summary> /// Obtiene la cantidad de producto neto pendiente de pago la factura con respecto a su cantidad neta /// </summary> /// <param name="pFactura"></param> public int SaldoFactura(int pFactura) { DataClasses1DataContext dc = new DataClasses1DataContext(); SIGEEA_FacAsociado factura = dc.SIGEEA_FacAsociados.First(c => c.PK_Id_FacAsociado == pFactura); List<SIGEEA_spObtenerDetalleFacturaAsociadoResult> listaDetalles = dc.SIGEEA_spObtenerDetalleFacturaAsociado(factura.PK_Id_FacAsociado).ToList(); int cantidadNeta = 0; foreach (SIGEEA_spObtenerDetalleFacturaAsociadoResult f in listaDetalles) { if (f.CanNeta_DetFacAsociado == -1 || f.Cancelado_DetFacAsociado == true) continue; cantidadNeta += (int)f.CanNeta_DetFacAsociado; } return cantidadNeta; }
/// <summary> /// Revisa y cambia el estado de las facturas, para que cuando se listen las facturas, puedan ser editables. /// </summary> /// <param name="pkFactura"></param> public void RevisaFactura(int pkFactura) { DataClasses1DataContext dc = new DataClasses1DataContext(); List<SIGEEA_spObtenerDetalleFacturaAsociadoResult> listaDetalles = dc.SIGEEA_spObtenerDetalleFacturaAsociado(pkFactura).ToList(); bool validador = true; foreach (SIGEEA_spObtenerDetalleFacturaAsociadoResult d in listaDetalles) { if (d.CanNeta_DetFacAsociado < 0) { validador = false; //Existe al menos un detalle incompleto break; } } if (validador == true) { SIGEEA_FacAsociado factura = dc.SIGEEA_FacAsociados.First(c => c.PK_Id_FacAsociado == pkFactura); factura.CanNeta_FacAsociado = factura.CanNeta_FacAsociado; factura.CanTotal_FacAsociado = factura.CanTotal_FacAsociado; factura.Estado_FacAsociado = factura.Estado_FacAsociado; factura.FecEntrega_FacAsociado = factura.FecEntrega_FacAsociado; factura.FecPago_FacAsociado = factura.FecPago_FacAsociado; factura.FK_Id_Asociado = factura.FK_Id_Asociado; factura.Incompleta_FacAsociado = false; factura.Observaciones_FacAsociado = factura.Observaciones_FacAsociado; dc.SubmitChanges(); } }
/// <summary> /// Actualiza la factura con respecto a su cantidad neta /// </summary> /// <param name="pFactura"></param> public void CantidadNetaFactura(int pFactura) { DataClasses1DataContext dc = new DataClasses1DataContext(); SIGEEA_FacAsociado factura = dc.SIGEEA_FacAsociados.First(c => c.PK_Id_FacAsociado == pFactura); List<SIGEEA_spObtenerDetalleFacturaAsociadoResult> listaDetalles = dc.SIGEEA_spObtenerDetalleFacturaAsociado(factura.PK_Id_FacAsociado).ToList(); double cantidadNeta = 0; foreach (SIGEEA_spObtenerDetalleFacturaAsociadoResult f in listaDetalles) { if (f.CanNeta_DetFacAsociado == -1) continue; cantidadNeta += (double)f.CanNeta_DetFacAsociado; } factura.CanNeta_FacAsociado = cantidadNeta; factura.CanTotal_FacAsociado = factura.CanTotal_FacAsociado; factura.Estado_FacAsociado = factura.Estado_FacAsociado; factura.FecEntrega_FacAsociado = factura.FecEntrega_FacAsociado; factura.FecPago_FacAsociado = factura.FecPago_FacAsociado; factura.FK_Id_Asociado = factura.FK_Id_Asociado; factura.Incompleta_FacAsociado = factura.Incompleta_FacAsociado; factura.Observaciones_FacAsociado = factura.Observaciones_FacAsociado; dc.SubmitChanges(); }