private void DisbBulkRow(string officeFileNo, DateTime disbDate, CodesDB.DisbursementTypeRow disbTypeR, decimal taxableDisb, decimal nonTaxableDisb, string comment, ref bool encounteredError, int officeId, DateTime srpDate) { if (!disbTypeR.IsBulk)// disbTypeCode == "CO" || disbTypeCode == "FA" || disbTypeCode == "LD" || disbTypeCode == "PH" || disbTypeCode == "PO" || disbTypeCode == "RM") { if (officeFileNo == "") { officeFileNo = "General Account"; } atriumDB.EFileRow drEfile = null; try { FileManager fmCur = myA.AtMng.GetFile(officeFileNo, officeId); fms.Add(fmCur.CurrentFile.FileId, fmCur); drEfile = fmCur.CurrentFile; if (drEfile != null) { //fmCur.GetActivity().LoadByFileId(drEfile.FileId); //JL: Change to DisbursementType from ACManagement to CodesDB bobo. //string activityQuery = "officeid=" + officeId.ToString() + " and fileid=" + drEfile.FileId.ToString() + " and activitycodeid=" + disbTypeR.GetACDisbRows()[0].ActivityCodeId.ToString() + " and activitydate='" + srpDate.ToString("yyyy/MM/dd") + "'"; string activityQuery = ""; atriumDB.ActivityRow[] drActivityArr = (atriumDB.ActivityRow[])fmCur.DB.Activity.Select(activityQuery); atriumDB.ActivityRow drActivity; if (drActivityArr.Length == 0) { //JL: Change of DisbursementType from ACMAnager dataset to CodesDB dataset bobo. //ActivityConfig.ACSeriesRow bulkACS =(ActivityConfig.ACSeriesRow) myA.AtMng.acMng.DB.ACSeries.Select("ActivityCodeId=" + disbTypeR.GetACDisbRows()[0].ActivityCodeId.ToString())[0];//.FindByACSeriesId(disbTypeR.GetACDisbRows()[0].ACSeriesId); ActivityConfig.ACSeriesRow bulkACS = null; ACEngine ace = fmCur.InitActivityProcess().Add(srpDate, bulkACS, null, false, null); drActivity = ace.NewActivity; drActivity.BeginEdit(); drActivity.OfficeId = officeId; drActivity.EndEdit(); if (drActivity.HasErrors) { if (drActivity.HasErrors) { WriteErrorLog(officeFileNo, "", srpDate, Resources.CouldNotCreateAC022 + drActivity.RowError); encounteredError = true; } } } else { drActivity = drActivityArr[0]; } atriumDB.DisbursementRow drDisb = (atriumDB.DisbursementRow)fmCur.GetDisbursement().Add(drActivity); AddDisbursement(drDisb, officeId, disbDate, srpDate, nonTaxableDisb, taxableDisb, disbTypeR.DisbursementType, comment); if (drDisb.HasErrors) { WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.CouldNotAddDisbursement + drDisb.RowError); encounteredError = true; } } } catch (Exception x) { WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.OfficeFileNumberNotValid + x.Message); encounteredError = true; } } else { WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.InvalidDisbursmentTypeCode); encounteredError = true; } }
private atriumDB.ActivityRow GetClosestActivity(FileManager fmCur, DateTime activityDate, string officeFileNo, string officeId, CodesDB.DisbursementTypeRow disbTypeR, DateTime disbDate, string fileId, ref bool encounteredError) { string concat = ""; string activityQuery = "officeid = " + officeId + " and fileid = " + fileId + " and ("; //foreach (ActivityConfig.ACDisbRow acdr in disbTypeR.GetACDisbRows()) //{ // activityQuery +=concat+ " activitycodeid = " + acdr.ActivityCodeId ; // concat = " or "; //} activityQuery += ")"; atriumDB.ActivityRow[] drActivityArr = (atriumDB.ActivityRow[])fmCur.DB.Activity.Select(activityQuery); atriumDB.ActivityRow drClosest = null; if (drActivityArr.Length == 0) { WriteErrorLog(officeFileNo, activityDate, disbTypeR.DisbursementType, disbDate, Resources.FileDoesNotHaveRequiredActivity); encounteredError = true; } else if (drActivityArr.Length == 1) { drClosest = drActivityArr[0]; } else //if (drActivityArr.Length == 2) { for (int i = 0; i < drActivityArr.Length; i++) { DateTime t2 = drActivityArr[i].ActivityDate; DateTime t3 = drClosest == null ? DateTime.MinValue : drClosest.ActivityDate; System.TimeSpan ts1 = activityDate - t2; System.TimeSpan ts2 = activityDate - t3; if (ts1.Duration() <= ts2.Duration()) { drClosest = drActivityArr[i]; } } } return(drClosest); }
private void DisbBulk(atriumDB.SRPRow drSrp, int docId) { bool encounteredError = false; int lineNum = 0; try { docDB.DocumentRow doc = myA.GetDocMng().GetDocument().Load(docId); // Create an instance of StreamReader to read from a file. // The using statement also closes the StreamReader. using (StringReader sr = new StringReader(doc.DocContentRow.ContentsAsText)) { String line; // Read and display lines from the file until the end of // the file is reached. while ((line = sr.ReadLine()) != null && (line != "")) { line = line.Replace("\"", ""); lineNum++; string[] elem = new string[6]; line.Split(',').CopyTo(elem, 0); string officeFileNo = elem[0]; DateTime disbDate = DateTime.Parse(elem[1]); string disbTypeCode = elem[2]; string comment = elem[5] == null ? "" : elem[5]; if ((elem[3] == null || elem[3] == "") && (elem[4] == null || elem[4] == "")) { WriteErrorLog(officeFileNo, disbTypeCode, disbDate, Resources.BothTaxableDisbursementAndNonTaxableDisbursementCannotBeBlank); encounteredError = true; } else { decimal taxableDisb; decimal nonTaxableDisb; if (elem[3] == null || elem[3] == "") { taxableDisb = 0; } else { taxableDisb = Convert.ToDecimal(elem[3]); } if (elem[4] == null || elem[4] == "") { nonTaxableDisb = 0; } else { nonTaxableDisb = Convert.ToDecimal(elem[4]); } CodesDB.DisbursementTypeRow disbTypeR = myA.AtMng.CodeDB.DisbursementType.FindByDisbursementType(disbTypeCode); DisbBulkRow(officeFileNo, disbDate, disbTypeR, taxableDisb, nonTaxableDisb, comment, ref encounteredError, drSrp.OfficeID, drSrp.SRPDate); } } // end of while loop } } catch (Exception e) { // Let the user know what went wrong. WriteErrorLog(Resources.LineNumber + lineNum.ToString() + " - " + e.Message); System.Diagnostics.Debug.WriteLine(e.ToString()); throw e; } DisbUpdate(encounteredError); WriteErrorLog(lineNum.ToString() + Resources.DisbursementRecordsImportedSuccessfully); }
private void DisbDetailRow(string officeFileNo, DateTime activityDate, DateTime disbDate, CodesDB.DisbursementTypeRow disbTypeR, decimal taxableDisb, decimal nonTaxableDisb, string comment, ref bool encounteredError, int officeId, DateTime srpDate) { if (officeFileNo == "") { officeFileNo = "General Account"; } try { FileManager fmCur = myA.AtMng.GetFile(officeFileNo, officeId); fms.Add(fmCur.CurrentFile.FileId, fmCur); atriumDB.EFileRow drEfile = fmCur.CurrentFile;// fm.EFile.LoadByOfficeFileNum(officeFileNo, officeId); atriumDB.ActivityRow drActivity; if (drEfile != null) { //fmCur.GetActivity().LoadByFileId(drEfile.FileId); drActivity = GetClosestActivity(fmCur, activityDate, officeFileNo, officeId.ToString(), disbTypeR, disbDate, drEfile.FileId.ToString(), ref encounteredError); if (drActivity != null) { atriumDB.DisbursementRow drDisb = (atriumDB.DisbursementRow)fmCur.GetDisbursement().Add(drActivity); AddDisbursement(drDisb, officeId, disbDate, srpDate, nonTaxableDisb, taxableDisb, disbTypeR.DisbursementType, comment); if (drDisb.HasErrors) { WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.CouldNotAddDisbursement + drDisb.RowError); encounteredError = true; } } else { WriteErrorLog(officeFileNo, disbTypeR.DisbursementType, disbDate, Resources.MatchingActivityNotFound); encounteredError = true; } } } catch (Exception x) { WriteErrorLog(officeFileNo, activityDate, disbTypeR.DisbursementType, disbDate, Resources.OfficeFileNumberNotValid + x.Message); encounteredError = true; } }