public void AltaRelacionCobranzaOperador(ArrayList ListaPedidosEntregar, ArrayList ListaPedidosDevolver) { SigaMetClasses.cCobranza _cobranza = new SigaMetClasses.cCobranza(); try { //Cerrar la cobranza actual para modificación EntregaCobranzaOperador(_cobranzaOrigen, "RECHAZADO"); //Nueva lista de cobranza para el operador if (ListaPedidosEntregar.Count > 0) { //Procesar la lista solo cuando contiene items _cobranzaEntrega = _cobranza.Alta(DateTime.Now.Date, 3, _usuario, _operador, TotalCobranza(ListaPedidosEntregar), "", ListaPedidosEntregar, "CERRADO", _cobranzaOrigen, "ENTREGADO", _usuario); } //Lista de cobranza para devolver los documentos no aceptados por el operador a resguardo if (ListaPedidosDevolver.Count > 0) { //Procesar la lista solo cuando contiene items _cobranzaDevolucion = _cobranza.Alta(DateTime.Now.Date, 9, _usuario, _respResguardoOperador, TotalCobranza(ListaPedidosDevolver), "DEVOLUCIÓN DE DOCUMENTOS VENTANILLA/RESGUARDO", ListaPedidosDevolver, "CERRADO", _cobranzaOrigen, string.Empty, string.Empty); } } catch (Exception ex) { throw ex; } }
public int AltaCobranza(string TipoCartera, DateTime FCobranza, ref bool ListaGeneral, ref bool ListasDerivadas) { int i = 0; string _tipoCartera = TipoCartera.Trim(); ArrayList _listaPedidos = procesarArrayPedidos(dtListaCobranza.Select("ClasificacionCartera = '" + _tipoCartera + "'")); if (_listaPedidos.Count > 0) { try { SigaMetClasses.cCobranza _cobranza = new SigaMetClasses.cCobranza(); //procesar la lista de cobranza general para el responsable de resguardo de crédito, del tipo seleccionado if (ListaGeneral) { int _responsable = 0; switch (_tipoCartera.ToUpper()) { case ("OP"): _responsable = _responsableOp; break; case ("CYC"): _responsable = _responsableCyC; break; } decimal totalCobranza = Convert.ToDecimal(dtListaCobranza.Compute("SUM(Saldo)", "ClasificacionCartera = '" + TipoCartera.Trim() + "'")); i = _cobranza.Alta(FCobranza.Date, 9, _usuario, _responsable, totalCobranza, "ORÍGEN LISTA NO. " + _numeroCobranza.ToString() + " " + _tipoCartera.ToUpper(), _listaPedidos, "CERRADO", _numeroCobranza, string.Empty, string.Empty); //Registro de bitácora listaRelacionesRegistro(i.ToString(), _responsable.ToString(), "", Convert.ToString(9), "Relación para responsable de cartera " + TipoCartera.Trim()); // ListaGeneral = false; } //procesar la lista de cobranza para cada responsable, corregir para procesar cada responsable if (ListasDerivadas) { byte _tipoCobranza = 0; switch (_tipoCartera.ToUpper()) { case ("OP"): _tipoCobranza = 3; break; case ("CYC"): _tipoCobranza = 9; break; } DataRow[] dervListaResponsables = dtListaResponsables.Select(); foreach (DataRow drOp in dervListaResponsables) { string filter = "ClasificacionCartera = '" + TipoCartera.Trim() + "' AND Responsable = " + Convert.ToString(drOp["Responsable"]); decimal totalCobranza = Convert.ToDecimal(dtListaCobranza.Compute("SUM(Saldo)", filter)); i = _cobranza.Alta(FCobranza.Date, _tipoCobranza, _usuario, Convert.ToInt32(drOp["Responsable"]), totalCobranza, "", procesarArrayPedidos(dtListaCobranza.Select(filter)), "CERRADO", _numeroCobranza, string.Empty, string.Empty); //eliminar de la lista los pedidos ya incluidos en la lista de cobranza foreach (DataRow delRow in dtListaCobranza.Select(filter)) { dtListaCobranza.Rows.Remove(delRow); } //incluir bitácora para la base de datos //Registro de bitácora listaRelacionesRegistro(i.ToString(), Convert.ToString(drOp["Responsable"]), Convert.ToString(drOp["Nombre"]), _tipoCobranza.ToString(), "Relación para responsable de documentos cartera " + TipoCartera.Trim()); // } //eliminar el tipo de cobranza procesado de la lista, para evitar que se procese de nuevo dtClasificacionCartera.Rows.Remove(dtClasificacionCartera.Rows.Find(TipoCartera)); if (dtClasificacionCartera.Rows.Count > 0) { ListaGeneral = true; } else { _procesoCompleto = true; RegistroEntregaCobranza(_numeroCobranza, "ENTREGADO"); } } } catch (Exception ex) { throw ex; } } return(i); }