示例#1
0
        public string RecordLine()
        {
            StringBuilder sb = new StringBuilder();

            sb.Append(recordType); // (2) - static length
            sb.Append(SduBatchId.PadLeft(20, '0'));
            sb.Append(SduTranId);  //(20) - static length
            sb.Append(ReceiptNumber.PadLeft(7, '0'));
            sb.Append(StrRetransmittalIndicator.PadRight(1));
            sb.Append(PayorID.PadRight(13));
            sb.Append(PayorSSN.PadRight(9));
            sb.Append(PaidBy.PadRight(15));
            sb.Append(PayorLastName.PadRight(25));
            sb.Append(PayorFirstName.PadRight(20));
            sb.Append(PayorMiddleName.PadRight(20));
            sb.Append(PayorSuffix.PadRight(3));
            sb.Append(StrAmount.PadLeft(15, '0'));
            sb.Append(StrOfcAmount.PadLeft(15, '0'));
            sb.Append(PaymentMode.PadRight(2));
            sb.Append(PaymentSource.PadRight(4));
            sb.Append(ReceiptReceivedDate.PadRight(8));
            sb.Append(ReceiptEffectiveDate.PadRight(8));
            sb.Append(CheckNumber.PadRight(18));
            sb.Append(ComplianceExemptionReason.PadRight(1));
            sb.Append(TargetedPaymentIndicator.PadRight(1, '0'));
            sb.Append(Fips.PadRight(7));
            sb.Append(CourtCaseNumber.PadRight(25));
            sb.Append(CourtJudgementNumber.PadLeft(3, '0'));
            sb.Append(CourtGuidelineNumber.PadLeft(3, '0'));
            sb.Append(ReasonCode.PadRight(3));
            sb.Append(filler.PadRight(32));

            return(sb.ToString());
        }
        public List <FinalTransaction> SelectIndivisualTotalExpenses(Attribute objCategory)
        {
            List <Person>           result           = new List <Person>();
            List <PaidBy>           payee            = new List <PaidBy>();
            List <PaidTo>           payto            = new List <PaidTo>();
            List <FinalTransaction> finaltransaction = new List <FinalTransaction>();

            using (SqlConnection con = new SqlConnection(connection))
            {
                using (SqlCommand cmd = new SqlCommand("Kit_SelectIndivisualTotalExpenses", con))
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.Add(new SqlParameter("@FromDate", SqlDbType.VarChar)).Value = objCategory.FromDate;
                    cmd.Parameters.Add(new SqlParameter("@ToDate", SqlDbType.VarChar)).Value   = objCategory.ToDate;
                    cmd.Parameters.Add(new SqlParameter("@KitchenID", SqlDbType.Int)).Value    = Convert.ToInt32(Session["KitchenID"]);
                    con.Open();
                    using (SqlDataReader dreader = cmd.ExecuteReader())
                    {
                        while (dreader.Read())
                        {
                            try
                            {
                                Person att = new Person()
                                {
                                    TotalExpenses = Convert.ToDecimal(dreader["TotalExpenses"]),
                                    FirstName     = dreader["FirstName"].ToString(),
                                    MiddleName    = dreader["MiddleName"].ToString(),
                                    LastName      = dreader["LastName"].ToString(),
                                    UserID        = Convert.ToInt32(dreader["UserID"].ToString()),
                                    TotalPeople   = Convert.ToInt32(dreader["TotalPeople"])
                                };

                                result.Add(att);
                            }
                            catch (Exception ex)
                            {
                            }
                        }
                        dreader.Close();
                    }

                    con.Close();
                }
            }
            decimal totalexpenses     = 0;
            decimal perpersonexpenses = 0;
            int     totalpeople       = 0;

            foreach (Person lst in result)
            {
                totalexpenses += lst.TotalExpenses;
                totalpeople    = lst.TotalPeople;
                //lst.TotalExpenses=
            }
            perpersonexpenses = totalexpenses / totalpeople;
            foreach (Person lst in result)
            {
                //categorize people whether payee or paidto groups
                if (lst.TotalExpenses > perpersonexpenses)
                {
                    PaidTo pay2 = new PaidTo()
                    {
                        FirstName  = lst.FirstName,
                        MiddleName = lst.MiddleName,
                        LastName   = lst.LastName,
                        Amount     = lst.TotalExpenses,
                        HaveToGet  = lst.TotalExpenses - perpersonexpenses
                    };
                    payto.Add(pay2);
                }
                else if (lst.TotalExpenses < perpersonexpenses)
                {
                    PaidBy payby = new PaidBy()
                    {
                        FirstName  = lst.FirstName,
                        MiddleName = lst.MiddleName,
                        LastName   = lst.LastName,
                        Amount     = lst.TotalExpenses,
                        HaveToPay  = perpersonexpenses - lst.TotalExpenses
                    };
                    payee.Add(payby);
                }
            }
            foreach (PaidBy person in payee)
            {
                foreach (PaidTo person2 in payto)
                {
                    if (person2.HaveToGet != 0)
                    {
                        if (person2.HaveToGet >= person.HaveToPay)
                        {
                            FinalTransaction transaction = new FinalTransaction()
                            {
                                PaidBy = person.FirstName + "   " + person.MiddleName + "   " + person.LastName,
                                Amount = person.HaveToPay,
                                PaidTo = person2.FirstName + "   " + person2.MiddleName + "  " + person2.LastName
                            };
                            person2.HaveToGet = person2.HaveToGet - person.HaveToPay;
                            person.HaveToPay  = person.HaveToPay - person.HaveToPay;
                            finaltransaction.Add(transaction);
                        }
                        else if (person2.HaveToGet < person.HaveToPay)
                        {
                            if (person.HaveToPay != 0)
                            {
                                FinalTransaction transaction = new FinalTransaction()
                                {
                                    PaidBy = person.FirstName + "  " + person.MiddleName + "  " + person.LastName,
                                    Amount = person2.HaveToGet,
                                    PaidTo = person2.FirstName + "  " + person2.MiddleName + "  " + person2.LastName
                                };
                                person.HaveToPay  = person.HaveToPay - person2.HaveToGet;
                                person2.HaveToGet = person2.HaveToGet - person2.HaveToGet;
                                finaltransaction.Add(transaction);
                            }
                        }
                    }
                }
            }
            return(finaltransaction);
        }