Exemplo n.º 1
0
        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;
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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;
            }
        }