private long conceptCode(int conceptId, Dictionary <string, int> connections) { int connection, dbResponse, spaceCounter; bool connected = connections.TryGetValue("concepts", out connection); StringBuilder sbConceptCode = new StringBuilder(30); if (!connected || connection == 0) { ErrLogger.Log("Connection not allowed in adminpaq for concepts"); return(0); } spaceCounter = 11 - conceptId.ToString().Length; string key = new string(' ', spaceCounter); key = key + conceptId.ToString(); dbResponse = AdminPaqLib.dbGetNoLock(connection, "MGW10006", "PRIMARYKEY", key); if (dbResponse == 4) { ErrLogger.Log("La ruta de la empresa es incorrecta."); return(0); } if (dbResponse == 0) { int fqResult = AdminPaqLib.dbFieldChar(connection, "MGW10006", 2, sbConceptCode, 30); string sConcept = sbConceptCode.ToString().Substring(0, 29).Trim(); long result = 0; bool casted = long.TryParse(sConcept, out result); if (!casted) { return(0); } return(result); } return(0); }
private void RetrieveSales(DateTime date, Empresa empresa, Dictionary <string, int> connections) { string filterDate; int cancelled, returned, conceptId, agentId, currencyId, connection, dbResponse; double changeValue, sold; StringBuilder docDate = new StringBuilder(9); long conceptCode; bool isSale, isReturn, validAgent, connected; connected = connections.TryGetValue("documents", out connection); if (!connected || connection == 0) { ErrLogger.Log("Connection not allowed in adminpaq for company [" + empresa.Nombre + "] @ route [" + empresa.Ruta + "]"); return; } filterDate = date.ToString("yyyyMMdd"); dbResponse = AdminPaqLib.dbGetNoLock(connection, "MGW10008", "CFECHA", filterDate); if (dbResponse == 4) { ErrLogger.Log("La ruta de la empresa es incorrecta."); return; } while (dbResponse == 0) { int fqResult = 0; cancelled = 0; fqResult = AdminPaqLib.dbFieldLong(connection, "MGW10008", 26, ref cancelled); if (cancelled == 1) { dbResponse = AdminPaqLib.dbSkip(connection, "MGW10008", "CFECHA", 1); continue; } returned = 0; fqResult = AdminPaqLib.dbFieldLong(connection, "MGW10008", 27, ref returned); if (returned == 1) { dbResponse = AdminPaqLib.dbSkip(connection, "MGW10008", "CFECHA", 1); continue; } fqResult = AdminPaqLib.dbFieldChar(connection, "MGW10008", 6, docDate, 9); string sDocDate = docDate.ToString().Substring(0, 8).Trim(); if (!filterDate.Equals(sDocDate)) { break; } conceptId = 0; fqResult = AdminPaqLib.dbFieldLong(connection, "MGW10008", 3, ref conceptId); conceptCode = this.conceptCode(conceptId, connections); isReturn = false; isSale = empresa.CodigosVenta.Contains(conceptCode); if (!isSale) { isReturn = empresa.CodigosDevolucion.Contains(conceptCode); } if (!isSale && !isReturn) { dbResponse = AdminPaqLib.dbSkip(connection, "MGW10008", "CFECHA", 1); continue; } agentId = 0; fqResult = AdminPaqLib.dbFieldLong(connection, "MGW10008", 10, ref agentId); validAgent = agentInCompany(agentId, empresa); if (!validAgent) { dbResponse = AdminPaqLib.dbSkip(connection, "MGW10008", "CFECHA", 1); continue; } // Currency 1 = Pesos Mexicanos currencyId = 1; changeValue = 1; fqResult = AdminPaqLib.dbFieldLong(connection, "MGW10008", 15, ref currencyId); if (currencyId != 1) { fqResult = AdminPaqLib.dbFieldDouble(connection, "MGW10008", 16, ref changeValue); } sold = 0; fqResult = AdminPaqLib.dbFieldDouble(connection, "MGW10008", 31, ref sold); if (isReturn) { sold = sold * -1; } if (currencyId != 1) { sold = sold * changeValue; } addSale(agentId, empresa, sold, date); dbResponse = AdminPaqLib.dbSkip(connection, "MGW10008", "CFECHA", 1); } }