예제 #1
0
    protected void btnDeactivatebill_Click(object sender, EventArgs e)
    {
        DateTime CurrentBillEndDate = Utility.GetCurrentDateTimeinUTC();

        btnSingleFlatGenerate.Text = "De Activate";

        String GenerateCycle = "Manual";

        lblFlatNuber.Text = HiddenField1.Value;
        lblBillType.Text  = HiddenField2.Value;

        previousBill = Bill.GetLastGeneratedBill(lblFlatNuber.Text, 0);

        newBill = Bill.CalculateNewBill(previousBill, GenerateCycle, CurrentBillEndDate, 0);

        if (newBill.op_Days <= 0)
        {
            lblBillDuplicate.Text = "Bill is Already Generated";
        }

        lblFlatArea.Text        = newBill.op_FlatArea.ToString();
        lblRate.Text            = newBill.op_Rate.ToString();
        lblChargeType.Text      = newBill.op_ChargeType;
        txtStartDate.Text       = newBill.BillStartDate.ToShortDateString();
        txtFlatBillAmt.Visible  = true;
        txtFlatBillAmt.Text     = newBill.CurrentBillAmount.ToString();
        txtBillDate.Text        = newBill.BillEndDate.ToShortDateString();
        lblPreviousBalance.Text = newBill.PreviousMonthBalance.ToString();



        ClientScript.RegisterStartupScript(this.GetType(), "alert('')", "ShowGenerateDeActivateBillForm()", true);
    }
예제 #2
0
    public static int oldInsertFirstZeroBill(String FlatNumber, int BillID, String CycleType, String CycleStart)
    {
        GenerateBill emptyBill = new GenerateBill();

        emptyBill.op_FlatNumber        = FlatNumber;
        emptyBill.SocietyBillID        = BillID;
        emptyBill.CurrentBillAmount    = 0;
        emptyBill.CycleType            = CycleType;
        emptyBill.PaymentDueDate       = Convert.ToDateTime(CycleStart).AddDays(7);
        emptyBill.BillMonth            = Convert.ToDateTime(CycleStart);
        emptyBill.PreviousMonthBalance = 0;
        emptyBill.ModifiedAt           = Utility.GetCurrentDateTimeinUTC();
        emptyBill.BillDescription      = "First Empty Bill";
        emptyBill.BillStartDate        = Convert.ToDateTime(CycleStart).AddDays(-1);
        emptyBill.BillEndDate          = Convert.ToDateTime(CycleStart).AddDays(-1);
        int        count  = 0;
        DataAccess dacess = new DataAccess();

        String Generatebill = "Insert into dbo.GeneratedBill(FlatNumber,BillID,BillStartDate,BillEndDate,CurrentBillAmount,CycleType,PaymentDueDate,BillMonth,PreviousMonthBalance,ModifiedAt,BillDescription, SocietyID) Values('"
                              + emptyBill.op_FlatNumber + "','" + emptyBill.SocietyBillID + "','" + emptyBill.BillStartDate + "','" + emptyBill.BillEndDate + "','" + emptyBill.CurrentBillAmount + "','" + emptyBill.CycleType + "','" + emptyBill.PaymentDueDate + "','" + emptyBill.BillMonth
                              + "','" + emptyBill.PreviousMonthBalance + "','" + emptyBill.ModifiedAt + "','" + emptyBill.BillDescription + "','" + SessionVariables.SocietyID + "')";
        bool result = dacess.Update(Generatebill);

        if (result == true)
        {
            count = 1;
        }

        return(count);
    }
예제 #3
0
    private void LoadActivatedBillForm(int FlatID, int SocietyBillID)
    {
        DateTime CurrentBillEndDate = Utility.GetCurrentDateTimeinUTC();
        String   GenerateCycle      = "Manual";;

        DateTime startdate;

        previousBill = Bill.GetLastGeneratedBill(FlatID, SocietyBillID, muser.currentResident.SocietyID);
        if (previousBill.BillEndDate.Year < 2000)
        {
            startdate = DateTime.UtcNow;
        }
        else
        {
            startdate = previousBill.BillEndDate;
        }



        lblFlatNuber.Text = previousBill.op_FlatNumber;
        lblBillType.Text  = previousBill.op_BillType;

        lblFlatArea.Text        = previousBill.op_FlatArea.ToString();
        lblRate.Text            = previousBill.op_Rate.ToString();
        lblChargeType.Text      = previousBill.op_ChargeType;
        txtStartDate.Text       = startdate.ToShortDateString();
        txtFlatBillAmt.Visible  = true;
        txtFlatBillAmt.Text     = previousBill.CurrentBillAmount.ToString();
        txtBillDate.Text        = startdate.ToShortDateString();
        lblPreviousBalance.Text = previousBill.PreviousMonthBalance.ToString();

        ClientScript.RegisterStartupScript(this.GetType(), "alert('')", "ShowActivateBillForm()", true);
    }
예제 #4
0
    public static GenerateBill CalculateNewBill(int FlatArea, String BillType, String ChargeType, String CycleType, Double Rate, int days)
    {
        GenerateBill bill   = new GenerateBill();
        Double       Amount = 1;


        if (ChargeType == "Fixed")
        {
            Amount = Convert.ToDouble(Rate);

            if (CycleType == "Monthly")
            {
                Amount = Convert.ToDouble(Rate) / 30 * days;
            }
            else if (CycleType == "Yearly")
            {
                Amount = Convert.ToDouble(Rate) / 365 * days;
            }
        }

        if (ChargeType == "Rate")
        {
            if (CycleType == "Monthly")
            {
                Amount = Amount = Convert.ToDouble(Rate) * Convert.ToDouble(FlatArea) / 30 * days;
            }
            else if (CycleType == "Yearly")
            {
                Amount = Amount = Convert.ToDouble(Rate) * Convert.ToDouble(FlatArea) / 365 * days;
            }
        }
        if (ChargeType == "Mannual")
        {
            Amount = 0;
        }


        Amount = Math.Round(Amount, 2);


        bill.ModifiedAt = Utility.GetCurrentDateTimeinUTC();

        String   CurrentMonth = String.Format("{0:y}", DateTime.Now);
        DateTime Date         = Convert.ToDateTime(CurrentMonth);

        DateTime EarlierMonth = Date.AddMonths(-1);

        string PrevMonth = String.Format("{0:y}", EarlierMonth);


        bill.PreviousMonthBalance = 0;
        bill.ModifiedAt           = Utility.GetCurrentDateTimeinUTC();
        bill.PaymentDueDate       = Utility.GetCurrentDateTimeinUTC().AddDays(15);
        bill.BillMonth            = Utility.GetCurrentDateTimeinUTC().AddDays(-15);
        //bill.CurrentAmount = (int)(Amount + 05d);
        return(bill);
    }
    public List <GenerateBill> GetLatestBills(int BillTypeID, int SocietyID)
    {
        List <GenerateBill> listGeneratedBill = new List <GenerateBill>();

        try
        {
            DataAccess dacess = new DataAccess();

            String LatestBill = "Select * from " + CONSTANTS.View_LatestFlatBill + " where BillTypeID = '" + BillTypeID + "' and SocietyID = '" + SocietyID + "'";

            DataSet FlatsData = dacess.ReadData(LatestBill);

            if (FlatsData != null)
            {
                DataTable dataBills = FlatsData.Tables[0];

                for (int i = 0; i < dataBills.Rows.Count; i++)
                {
                    GenerateBill LastBill = new GenerateBill();
                    LastBill.PayID         = Convert.ToInt32(dataBills.Rows[i]["PayID"]);
                    LastBill.FlatID        = Convert.ToInt32(dataBills.Rows[i]["FlatID"].ToString());
                    LastBill.op_FlatNumber = dataBills.Rows[i]["FlatNumber"].ToString();
                    LastBill.op_FlatArea   = Convert.ToInt32(dataBills.Rows[i]["FlatArea"]);
                    LastBill.op_ChargeType = dataBills.Rows[i]["ChargeType"].ToString();
                    LastBill.CycleType     = dataBills.Rows[i]["CycleType"].ToString();
                    LastBill.op_Rate       = Convert.ToDouble(dataBills.Rows[i]["Rate"]);
                    if (LastBill.PayID > 0)
                    {
                        LastBill.BillStartDate = Convert.ToDateTime(dataBills.Rows[i]["BillStartDate"]);
                        LastBill.BillEndDate   = Convert.ToDateTime(dataBills.Rows[i]["BillEndDate"]);
                    }
                    else
                    {
                        DateTime FlatAddDate  = Convert.ToDateTime(dataBills.Rows[i]["FlatAddDate"]);
                        DateTime BillPlanDate = Convert.ToDateTime(dataBills.Rows[i]["BillPlanDate"]);

                        LastBill.BillStartDate = FlatAddDate > BillPlanDate ? FlatAddDate : BillPlanDate;
                        LastBill.BillEndDate   = FlatAddDate > BillPlanDate ? FlatAddDate : BillPlanDate;
                    }
                    LastBill.op_Applyto          = Convert.ToInt32(dataBills.Rows[i]["Applyto"]);
                    LastBill.Activated           = Convert.ToInt32(dataBills.Rows[i]["Activated"]);
                    LastBill.SocietyBillID       = Convert.ToInt32(dataBills.Rows[i]["SocietyBillID"]);
                    LastBill.CurrentMonthBalance = Convert.ToInt32(dataBills.Rows[i]["CurrentMonthBalance"]);
                    listGeneratedBill.Add(LastBill);
                }
            }

            return(listGeneratedBill);
        }

        catch (Exception ex)
        {
            return(null);
        }
    }
예제 #6
0
    public static GenerateBill GetLastGeneratedBill(String FlatNumber, int BillID)
    {
        try
        {
            DataAccess   dacess   = new DataAccess();
            GenerateBill LastBill = new GenerateBill();

            String FlatsForBillType = "Select * from " + ViewName + " where BillTypeID = '" + BillID + "' and FlatNumber = '" + FlatNumber + "'";

            DataSet FlatsData = dacess.ReadData(FlatsForBillType);

            if (FlatsData != null)
            {
                DataTable dataBills = FlatsData.Tables[0];

                for (int i = 0; i < dataBills.Rows.Count; i++)
                {
                    GenerateBill previousBill = new GenerateBill();
                    LastBill.PayID         = Convert.ToInt32(dataBills.Rows[i]["PayID"]);
                    LastBill.op_FlatNumber = dataBills.Rows[i]["FlatNumber"].ToString();
                    LastBill.op_FlatArea   = Convert.ToInt32(dataBills.Rows[i]["FlatArea"]);
                    LastBill.op_ChargeType = dataBills.Rows[i]["ChargeType"].ToString();
                    LastBill.CycleType     = dataBills.Rows[i]["CycleType"].ToString();
                    LastBill.op_Rate       = Convert.ToDouble(dataBills.Rows[i]["Rate"]);
                    if (LastBill.PayID > 0)
                    {
                        LastBill.BillStartDate = Convert.ToDateTime(dataBills.Rows[i]["BillStartDate"]);
                        LastBill.BillEndDate   = Convert.ToDateTime(dataBills.Rows[i]["BillEndDate"]);
                    }
                    else
                    {
                        DateTime FlatAddDate  = Convert.ToDateTime(dataBills.Rows[i]["FlatAddDate"]);
                        DateTime BillPlanDate = Convert.ToDateTime(dataBills.Rows[i]["BillPlanDate"]);

                        LastBill.BillStartDate = FlatAddDate > BillPlanDate ? FlatAddDate : BillPlanDate;
                        LastBill.BillEndDate   = FlatAddDate > BillPlanDate ? FlatAddDate : BillPlanDate;
                    }
                    LastBill.SocietyBillID       = Convert.ToInt32(dataBills.Rows[i]["SocietyBillID"]);
                    LastBill.CurrentMonthBalance = Convert.ToInt32(dataBills.Rows[i]["CurrentMonthBalance"]);
                    // LastBill.CycleEndDate = Convert.ToDateTime(dataBills.Rows[i]["CycleEnD"]);
                }
            }

            return(LastBill);
        }

#pragma warning disable 0168
        catch (Exception ex)
        {
            return(null);
        }
#pragma warning restore 0168
    }
예제 #7
0
    public bool InsertNewBillPay(GenerateBill newBill)
    {
        try
        {
            DataAccess dacess = new DataAccess();
            if (newBill.ActionType.Equals("Pay"))
            {
                if (newBill.FlatID == 0)
                {
                    string  query = "Select FlatID from ViewSocietyUsers where societyid=" + SessionVariables.SocietyID + " and FlatNumber='" + newBill.op_FlatNumber + "'";
                    DataSet ds    = dacess.ReadData(query);
                    DataRow row   = ds.Tables[0].Rows[0];
                    newBill.FlatID = (int)row[0];
                }


                if (newBill.ResID == 0)
                {
                    string  query = "Select ResID from ViewSocietyUsers where societyid=" + SessionVariables.SocietyID + " and FlatNumber='" + newBill.op_FlatNumber + "'";
                    DataSet ds    = dacess.ReadData(query);
                    DataRow row   = ds.Tables[0].Rows[0];
                    newBill.ResID = (int)row[0];
                }
            }

            String Generatebill = "Insert into " + TableName
                                  + "(FlatID,ActionType,Activated,SocietyBillID,BillStartDate,BillEndDate,CurrentBillAmount,CycleType,PaymentDueDate,BillMonth,PreviousMonthBalance,AmountPaidDate,AmountPaid,PaymentMode,TransactionID,InvoiceID,ModifiedAt,BillDescription,SocietyID,ResID) Values('"
                                  + newBill.FlatID + "','" + newBill.ActionType + "','" + newBill.Activated + "','" + newBill.SocietyBillID + "','" + DateString(newBill.BillStartDate, true) + "','" + DateString(newBill.BillEndDate, true) + "','" + newBill.CurrentBillAmount + "','" + newBill.CycleType + "','" + DateString(newBill.PaymentDueDate, true) + "','" + DateString(newBill.BillMonth, true) + "','"
                                  + newBill.CurrentMonthBalance + "','" + DateString(newBill.AmountPaidDate, true) + "','" + newBill.AmountPaid + "','" + newBill.PaymentMode + "','" + newBill.TransactionID + "','" + newBill.InvoiceID + "','" + DateString(newBill.ModifiedAt, true) + "','" + newBill.BillDescription + "'," + SessionVariables.SocietyID + "," + newBill.ResID + ")";


            return(dacess.Update(Generatebill));
        }


        catch (Exception ex)
        {
            return(false);
        }
    }
예제 #8
0
    //////Activated Bills  GenerateDeActivateBillForm     Caluclationbill Based on End date  click    //////
    protected void btnCalculateOnEnddate_Click(object sender, EventArgs e)
    {
        try
        {
            String      GenerateCycle = "Manual";
            CultureInfo us            = new CultureInfo("en-US");

            DateTime BillEnddate   = DateTime.ParseExact(txtBillDate.Text, "dd-MM-yyyy", us);
            DateTime BillStartdate = DateTime.ParseExact(txtStartDate.Text, "dd-MM-yyyy", us);

            int days = Utility.GetDifferenceinDays(BillStartdate, BillEnddate);

            if (previousBill != null)
            {
                newBill = Bill.CalculateNewBill(previousBill, GenerateCycle, BillEnddate, days);
            }

            txtFlatBillAmt.Text = newBill.CurrentBillAmount.ToString();

            ClientScript.RegisterStartupScript(this.GetType(), "alert('')", "ShowAddBillPopup()", true);
        }
        catch (Exception ex)
        {}
    }
예제 #9
0
    protected void btnGenerateLatestBill_Click(object sender, EventArgs e)
    {
        try
        {
            int      countCalulatedBill = 0;
            int      countInActiveBill  = 0;
            String   BillType           = drpGenBillForOnLatest.SelectedItem.Text;
            String   stringEndDate      = newBillDate.Text;
            DateTime billEndDate;
            int      BillTypeID = Convert.ToInt32(drpGenBillForOnLatest.SelectedItem.Value);


            if (stringEndDate == "")
            {
                lblmessage.Text = "Select the Bill End Date";
                return;
            }
            else
            {
                billEndDate = DateTime.ParseExact(stringEndDate, "dd-MM-yyyy", null);
            }

            GeneratedBillController billController = new GeneratedBillController();

            List <GenerateBill> LatestBill         = billController.GetLatestBills(BillTypeID, muser.currentResident.SocietyID);
            List <GenerateBill> listCalculatedBill = new List <GenerateBill>();

            for (int i = 0; i < LatestBill.Count; i++)
            {
                GenerateBill previousBill = LatestBill[i];



                if (previousBill.op_Applyto == 1 || (previousBill.op_Applyto == 0 && previousBill.Activated == 2))
                {
                    if (previousBill.BillEndDate > billEndDate)
                    {
                        countInActiveBill = countInActiveBill + 1;
                    }
                    else
                    {
                        GenerateBill calculatedBill = Bill.CalculateNewBill(previousBill, "Manual", billEndDate, 0);
                        listCalculatedBill.Add(calculatedBill);

                        tableGeneratedBill.Rows.Add(calculatedBill.FlatID, calculatedBill.op_FlatNumber, BillTypeID, BillType, calculatedBill.BillStartDate, calculatedBill.BillEndDate,
                                                    calculatedBill.PaymentDueDate, calculatedBill.PreviousMonthBalance, calculatedBill.CurrentBillAmount,
                                                    calculatedBill.SocietyBillID, calculatedBill.CycleType, "Bulk Generate", DateTime.Today, SocietyID, "Generate", 2, calculatedBill.ResID,
                                                    baseDate);

                        countCalulatedBill = countCalulatedBill + 1;
                    }
                }
                else
                {
                }
            }

            if (countCalulatedBill == 0)
            {
                lblmessage.Text = countCalulatedBill + " Bill calculated. " + countInActiveBill + " Bill not in date range";
            }
            else
            {
                lblmessage.Text             = countCalulatedBill + " Bill calculated. " + countInActiveBill + " Bill not in date range";
                NewGeneratedBill.DataSource = tableGeneratedBill;
                NewGeneratedBill.DataBind();

                ClientScript.RegisterStartupScript(this.GetType(), "alert('')", "ShowGenerateBillPreview()", true);
            }
        }
        catch (Exception ex)
        {
            lblmessage.Text = "Error displaying calculated data";
        }
    }
예제 #10
0
    public static GenerateBill GetLastGeneratedBill(int FlatID, int SocietyBillID, int SocietyID)
    {
        try
        {
            DataAccess   dacess   = new DataAccess();
            GenerateBill LastBill = new GenerateBill();

            String FlatsForBillType = "Select * from " + ViewName + " where SocietyBillID = '" + SocietyBillID + "' and FlatID = '" + FlatID + "'";

            DataSet FlatsData = dacess.ReadData(FlatsForBillType);

            if (FlatsData != null)
            {
                DataTable dataBills = FlatsData.Tables[0];

                for (int i = 0; i < dataBills.Rows.Count; i++)
                {
                    GenerateBill previousBill = new GenerateBill();
                    LastBill.ActionType          = dataBills.Rows[i]["ActionType"].ToString();;
                    LastBill.Activated           = Convert.ToInt32(dataBills.Rows[i]["Activated"].ToString());
                    LastBill.AmountPaid          = Convert.ToInt32(dataBills.Rows[i]["AmountPaid"].ToString());
                    LastBill.AmountPaidDate      = Convert.ToDateTime(dataBills.Rows[i]["AmountPaidDate"]);
                    LastBill.AmountTobePaid      = Convert.ToInt32(dataBills.Rows[i]["AmountTobePaid"].ToString());
                    LastBill.BillDescription     = dataBills.Rows[i]["BillDescription"].ToString();
                    LastBill.BillEndDate         = Convert.ToDateTime(dataBills.Rows[i]["BillEndDate"]);
                    LastBill.BillMonth           = Convert.ToDateTime(dataBills.Rows[i]["BillMonth"]);
                    LastBill.BillStartDate       = Convert.ToDateTime(dataBills.Rows[i]["BillStartDate"]);
                    LastBill.BillTypeID          = Convert.ToInt32(dataBills.Rows[i]["BillTypeID"].ToString());
                    LastBill.CurrentBillAmount   = Convert.ToInt32(dataBills.Rows[i]["CurrentBillAmount"].ToString());
                    LastBill.CurrentMonthBalance = Convert.ToInt32(dataBills.Rows[i]["CurrentMonthBalance"]);
                    LastBill.CycleType           = dataBills.Rows[i]["CycleType"].ToString();
                    LastBill.FlatID        = Convert.ToInt32(dataBills.Rows[i]["FlatID"]);
                    LastBill.InvoiceID     = dataBills.Rows[i]["InvoiceID"].ToString();
                    LastBill.ModifiedAt    = Convert.ToDateTime(dataBills.Rows[i]["ModifiedAt"]);
                    LastBill.op_BillType   = dataBills.Rows[i]["BillType"].ToString();
                    LastBill.op_ChargeType = dataBills.Rows[i]["ChargeType"].ToString();

                    LastBill.op_FlatArea          = Convert.ToInt32(dataBills.Rows[i]["FlatArea"]);
                    LastBill.op_FlatNumber        = dataBills.Rows[i]["FlatNumber"].ToString();
                    LastBill.op_Rate              = Convert.ToDouble(dataBills.Rows[i]["Rate"]);
                    LastBill.PaymentDueDate       = Convert.ToDateTime(dataBills.Rows[i]["PaymentDueDate"]);
                    LastBill.PaymentMode          = dataBills.Rows[i]["PaymentMode"].ToString();
                    LastBill.PreviousMonthBalance = Convert.ToInt32(dataBills.Rows[i]["PreviousMonthBalance"].ToString());
                    LastBill.ResID         = Convert.ToInt32(dataBills.Rows[i]["ResID"]);
                    LastBill.SocietyBillID = Convert.ToInt32(dataBills.Rows[i]["SocietyBillID"]);
                    LastBill.SocietyID     = Convert.ToInt32(dataBills.Rows[i]["SocietyID"]);
                    LastBill.TransactionID = dataBills.Rows[i]["TransactionID"].ToString();

                    // LastBill.CycleEndDate = Convert.ToDateTime(dataBills.Rows[i]["CycleEnD"]);
                }
            }

            return(LastBill);
        }
#pragma warning disable 0168
        catch (Exception ex)
        {
            return(null);
        }
#pragma warning restore 0168
    }
예제 #11
0
    public static GenerateBill CalculateNewBill(GenerateBill previousBill, String GenerateCycle, DateTime BillingDate, int days)
    {
        GenerateBill newBill = new GenerateBill();
        //int days = 0;
        double BillAmount = 0;
        string ActionType = "Generate";


        newBill.BillStartDate = previousBill.BillEndDate.AddDays(1);


        if (GenerateCycle == "Manual")
        {
            newBill.BillDescription = "Manually Generated";
            if (BillingDate != null)
            {
                newBill.BillEndDate = BillingDate;
                if (days == 0)
                {
                    days = Utility.GetDifferenceinDays(newBill.BillStartDate, newBill.BillEndDate);
                }
            }
        }

        else if (GenerateCycle == "Auto")
        {
            newBill.BillDescription = "Auto Generated";
            if (previousBill.CycleType == "Yearly")
            {
                newBill.BillEndDate = newBill.BillStartDate.AddYears(1);
            }

            else if (previousBill.CycleType == "Quaterly")
            {
                newBill.BillEndDate = newBill.BillStartDate.AddMonths(3);
            }

            else if (previousBill.CycleType == "Monthly")
            {
                newBill.BillEndDate = newBill.BillStartDate.AddMonths(1);
            }


            //Why we have this logic, it gives 0 days if I could not create Bill in December and doing that in Jan next year. Amit 8/02/2018
            // Hence commenting this as of now.
            //if (newBill.BillEndDate.Year != Utility.GetCurrentDateTimeinUTC().Year || newBill.BillEndDate.Month != Utility.GetCurrentDateTimeinUTC().Month)
            //{
            //    days = 0;
            //}
            //else
            //{
            //    days = Utility.GetDifferenceinDays(newBill.BillStartDate, newBill.BillEndDate);
            //}

            days = Utility.GetDifferenceinDays(newBill.BillStartDate, newBill.BillEndDate);
        }
        // End Date should not be greater than Cycle End Date code to be added



        if (days > 0)
        {
            newBill.PaymentDueDate = newBill.BillEndDate.AddDays(7);

            if (previousBill.op_ChargeType == "Fixed")
            {
                if (previousBill.CycleType == "Monthly")
                {
                    BillAmount = Convert.ToDouble(previousBill.op_Rate) / 30 * days + 0.5d;
                }
                else if (previousBill.CycleType == "Quarterly")
                {
                    BillAmount = Convert.ToDouble(previousBill.op_Rate) / (30 * 3) * days;
                }
                else if (previousBill.CycleType == "Yearly")
                {
                    BillAmount = Convert.ToDouble(previousBill.op_Rate) / 365 * days;
                }
            }

            if (previousBill.op_ChargeType == "Rate")
            {
                if (previousBill.CycleType == "Monthly")
                {
                    BillAmount = Convert.ToDouble(previousBill.op_Rate) * Convert.ToDouble(previousBill.op_FlatArea) / 30 * days;
                }

                else if (previousBill.CycleType == "Quarterly")
                {
                    BillAmount = Convert.ToDouble(previousBill.op_Rate) * Convert.ToDouble(previousBill.op_Rate) / (30 * 3) * days;
                }

                else if (previousBill.CycleType == "Yearly")
                {
                    BillAmount = Convert.ToDouble(previousBill.op_Rate) * Convert.ToDouble(previousBill.op_FlatArea) / 365 * days;
                }
            }
            if (previousBill.op_ChargeType == "Manual")
            {
                BillAmount = 0;
            }
        }

        if (previousBill.FlatID == 0)
        {
            string     query  = "select FlatID from viewsocietyusers where FlatNumber='" + newBill.op_FlatNumber + "' and SocietyID=" + SessionVariables.SocietyID;
            DataAccess access = new DataAccess();
            previousBill.FlatID = Convert.ToInt32(access.ReadData(query));
        }

        if (previousBill.ResID == 0)
        {
            string     query  = "select ResID from viewsocietyusers where FlatNumber='" + newBill.op_FlatNumber + "' and SocietyID=" + SessionVariables.SocietyID;
            DataAccess access = new DataAccess();
            previousBill.ResID = Convert.ToInt32(access.ReadData(query));
        }


        newBill.op_Days              = days;
        newBill.SocietyBillID        = previousBill.SocietyBillID;
        newBill.op_FlatArea          = previousBill.op_FlatArea;
        newBill.op_ChargeType        = previousBill.op_ChargeType;
        newBill.CurrentBillAmount    = (int)(BillAmount + 0.5d);
        newBill.ModifiedAt           = Utility.GetCurrentDateTimeinUTC();
        newBill.PreviousMonthBalance = previousBill.CurrentMonthBalance;
        newBill.op_FlatNumber        = previousBill.op_FlatNumber;
        newBill.CycleType            = previousBill.CycleType;
        newBill.BillMonth            = newBill.BillEndDate;
        newBill.op_Rate              = previousBill.op_Rate;
        newBill.FlatID     = previousBill.FlatID;
        newBill.ResID      = previousBill.ResID;
        newBill.ActionType = ActionType;
        return(newBill);
    }
    public void AddBill(GenerateBill previousBill, String GenerateCycle)
    {
        GenerateBill newBill = new GenerateBill();
        // String GenerateCycle = "";
        DateTime newstartdate = previousBill.BillEndDate.AddDays(1);
        int      day          = previousBill.op_CycleEndDate.Day;

        if (GenerateCycle == "Manual")
        {
            newBill.BillEndDate = new DateTime(Utility.GetCurrentDateTimeinUTC().Year, Utility.GetCurrentDateTimeinUTC().Month, day);
        }

        else if (GenerateCycle == "Auto")
        {
            if (newBill.CycleType == "Yearly")
            {
                newBill.BillEndDate = newBill.BillStartDate.AddYears(1);
            }

            else if (newBill.CycleType == "Quaterly")
            {
                newBill.BillEndDate = newBill.BillStartDate.AddMonths(3);
            }

            else if (newBill.CycleType == "Monthly")
            {
                DateTime newEndDate = newBill.BillStartDate.AddMonths(1);
            }
        }

        int      days    = Utility.GetDifferenceinDays(newBill.BillStartDate, newBill.BillEndDate);
        DateTime DueDate = newBill.BillEndDate.AddDays(7);


        if (newBill.BillEndDate.Year != Utility.GetCurrentDateTimeinUTC().Year&& newBill.BillEndDate.Month != Utility.GetCurrentDateTimeinUTC().Month)
        {
            days = 0;
        }


        if (days != 0)
        {
            Double Amount = 1;


            if (newBill.op_ChargeType == "Fixed")
            {
                Amount = Convert.ToDouble(newBill.op_Rate);

                if (newBill.CycleType == "Monthly")
                {
                    Amount = Convert.ToDouble(newBill.op_Rate) / 30 * days;
                }
                else if (newBill.CycleType == "Yearly")
                {
                    Amount = Convert.ToDouble(newBill.op_Rate) / 365 * days;
                }
            }

            if (newBill.op_ChargeType == "Rate")
            {
                if (newBill.CycleType == "Monthly")
                {
                    Amount = Amount = Convert.ToDouble(newBill.op_Rate) * Convert.ToDouble(newBill.op_FlatArea) / 30 * days;
                }
                else if (newBill.CycleType == "Yearly")
                {
                    Amount = Amount = Convert.ToDouble(newBill.op_Rate) * Convert.ToDouble(newBill.op_FlatArea) / 365 * days;
                }
            }
            if (newBill.op_ChargeType == "Mannual")
            {
                Amount = 0;
            }


            Amount = Math.Round(Amount, 2);


            newBill.ModifiedAt = Utility.GetCurrentDateTimeinUTC();

            newBill.PreviousMonthBalance = previousBill.CurrentMonthBalance;

            // insert Query
        }
        else
        {
        }
    }
예제 #13
0
 private void linkLabel_userBill_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 {
     GenerateBill newBill = new GenerateBill(selectedFlatId);
     newBill.Show();
 }
예제 #14
0
 private void linkLabel_generateBill_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
 {
     GenerateBill bill = new GenerateBill();
     bill.Show();
 }
예제 #15
0
    protected void btnActivateFlatBill_Click(object sender, EventArgs e)
    {
        bool   isInserted = false;
        String CycleEnd   = txtBillDate.Text.ToString();
        String CycleStart = txtStartDate.Text.ToString();
        int    amount     = Convert.ToInt32(txtFlatBillAmt.Text.ToString());

        if (previousBill != null)
        {
            /*  DateTime startdate;
             *
             * if (previousBill.BillEndDate.Year < 2000)
             * {
             *    startdate = DateTime.UtcNow;
             * }
             * else {
             *    startdate = previousBill.BillEndDate;
             * }
             */

            DateTime enddate   = DateTime.ParseExact(CycleEnd, "dd-MM-yyyy", null);
            DateTime startdate = DateTime.ParseExact(CycleStart, "dd-MM-yyyy", null);

            GenerateBill genBill = new GenerateBill();
            genBill.AmountTobePaid       = 0;
            genBill.AmountPaid           = 0;
            genBill.AmountPaidDate       = DateTime.Now;
            genBill.BillDescription      = txtActivateDescription.Text.ToString();
            genBill.BillEndDate          = enddate;
            genBill.BillMonth            = enddate;
            genBill.BillTypeID           = previousBill.BillTypeID;
            genBill.BillStartDate        = startdate;
            genBill.CurrentBillAmount    = amount;
            genBill.ActionType           = "Activate";
            genBill.Activated            = 1;
            genBill.CycleType            = previousBill.CycleType;
            genBill.FlatID               = previousBill.FlatID;
            genBill.InvoiceID            = "Activate-1";
            genBill.ModifiedAt           = DateTime.UtcNow;
            genBill.PaymentDueDate       = DateTime.UtcNow.AddDays(7);
            genBill.PaymentMode          = "";
            genBill.PreviousMonthBalance = previousBill.CurrentMonthBalance;
            genBill.SocietyBillID        = previousBill.SocietyBillID;
            genBill.SocietyID            = muser.currentResident.SocietyID;
            genBill.TransactionID        = "Activated";


            genBill.op_BillType = "";

            Bill bill = new Bill();

            isInserted = bill.InsertNewBillPay(genBill);



            /*  if (result)
             * {
             *   // count = Bill.InsertFirstZeroBill(FlatNumber, billid, CycleType, CycleStart);
             * }*/
        }

        else
        {
            lblbilltypeexist.Text = "Previous Bill Detail Not found";
        }


        if (isInserted)
        {
            lblbilltypeexist.Text = "Bill Generated Sucessfully";
        }

        else
        {
            lblbilltypeexist.Text = "Bill Generated Failed";
        }


        LoadActivatedBill();
    }
        private void GenerateBill_Click(object sender, RoutedEventArgs e)
        {
            GenerateBill generatebill = new GenerateBill();

            pageload(generatebill);
        }
예제 #17
0
    //Added by aarshi on 7 july 2017 for zero bill
    public void GenerateInitialZeroBillFlat(int BillID, int ApplyTo, string CycleType)
    {
        DateTime CycleStart = new DateTime();
        DateTime CycleEnd   = new DateTime();

        if (ApplyTo == 1)
        {
            CycleStart = Utility.GetCurrentDateTimeinUTC();
            int year = CycleStart.Year;
            CycleEnd = new DateTime(year + 5, CycleStart.Month, CycleStart.Day);



            DataAccess dacess        = new DataAccess();
            String     FlatDataQuery = "Select * from dbo.Flats";
            DataSet    Data          = dacess.ReadData(FlatDataQuery);
            DataTable  dataFlat      = Data.Tables[0];
            DataTable  tempBillCycle = new DataTable();

            tempBillCycle.Columns.Add("FlatNumber");
            tempBillCycle.Columns.Add("BillID", typeof(int));
            tempBillCycle.Columns.Add("CurrentBillAmount", typeof(int));
            tempBillCycle.Columns.Add("CycleType", typeof(string));
            tempBillCycle.Columns.Add("PaymentDueDate", typeof(DateTime));
            tempBillCycle.Columns.Add("BillMonth", typeof(string));
            tempBillCycle.Columns.Add("PreviousMonthBalance", typeof(int));
            tempBillCycle.Columns.Add("AmountPaidDate", typeof(string));
            tempBillCycle.Columns.Add("AmountPaid", typeof(int));
            tempBillCycle.Columns.Add("PaymentMode", typeof(string));
            tempBillCycle.Columns.Add("TransactionID", typeof(string));
            tempBillCycle.Columns.Add("InvoiceID", typeof(string));
            tempBillCycle.Columns.Add("ModifiedAt", typeof(DateTime));
            tempBillCycle.Columns.Add("BillDescription", typeof(string));
            tempBillCycle.Columns.Add("BillStartDate", typeof(DateTime));
            tempBillCycle.Columns.Add("BillEndDate", typeof(DateTime));

            foreach (DataRow FlatRow in dataFlat.Rows)
            {
                GenerateBill emptyBill = new GenerateBill();
                emptyBill.op_FlatNumber        = FlatRow["FlatNumber"].ToString();
                emptyBill.SocietyBillID        = BillID;
                emptyBill.CurrentBillAmount    = 0;
                emptyBill.CycleType            = CycleType;
                emptyBill.PaymentDueDate       = Convert.ToDateTime(CycleStart).AddDays(7);
                emptyBill.BillMonth            = Convert.ToDateTime(CycleStart);
                emptyBill.PreviousMonthBalance = 0;
                emptyBill.op_AmountPaidDate    = null;
                emptyBill.AmountPaid           = 0;
                emptyBill.PaymentMode          = "0";
                emptyBill.TransactionID        = null;
                emptyBill.InvoiceID            = null;
                emptyBill.ModifiedAt           = Utility.GetCurrentDateTimeinUTC();
                emptyBill.BillDescription      = "First Empty Bill";
                emptyBill.BillStartDate        = Convert.ToDateTime(CycleStart).AddDays(-1);
                emptyBill.BillEndDate          = Convert.ToDateTime(CycleStart).AddDays(-1);
                tempBillCycle.Rows.Add(emptyBill.op_FlatNumber, emptyBill.SocietyBillID, emptyBill.CurrentBillAmount, emptyBill.CycleType, emptyBill.PaymentDueDate, emptyBill.BillMonth,
                                       emptyBill.PreviousMonthBalance, emptyBill.op_AmountPaidDate, emptyBill.AmountPaid, emptyBill.PaymentMode, emptyBill.TransactionID, emptyBill.InvoiceID, emptyBill.ModifiedAt,
                                       emptyBill.BillDescription, emptyBill.BillStartDate, emptyBill.BillEndDate);
            }

            String SqlSocietyString = String.Empty;
            SqlSocietyString = Utility.SocietyConnectionString;;
            SqlConnection SocietyCon = new SqlConnection(SqlSocietyString);
            SocietyCon.Open();

            using (SqlBulkCopy FlatBillsData = new SqlBulkCopy(SocietyCon))
            {
                FlatBillsData.DestinationTableName = "GeneratedBill";
                FlatBillsData.ColumnMappings.Add("FlatNumber", "FlatNumber");
                FlatBillsData.ColumnMappings.Add("BillID", "BillID");
                FlatBillsData.ColumnMappings.Add("CurrentBillAmount", "CurrentBillAmount");
                FlatBillsData.ColumnMappings.Add("CycleType", "CycleType");
                FlatBillsData.ColumnMappings.Add("PaymentDueDate", "PaymentDueDate");
                FlatBillsData.ColumnMappings.Add("BillMonth", "BillMonth");
                FlatBillsData.ColumnMappings.Add("PreviousMonthBalance", "PreviousMonthBalance");
                FlatBillsData.ColumnMappings.Add("AmountPaidDate", "AmountPaidDate");
                FlatBillsData.ColumnMappings.Add("AmountPaid", "AmountPaid");
                FlatBillsData.ColumnMappings.Add("PaymentMode", "PaymentMode");
                FlatBillsData.ColumnMappings.Add("TransactionID", "TransactionID");
                FlatBillsData.ColumnMappings.Add("InvoiceID", "InvoiceID");
                FlatBillsData.ColumnMappings.Add("ModifiedAt", "ModifiedAt");
                FlatBillsData.ColumnMappings.Add("BillDescription", "BillDescription");
                FlatBillsData.ColumnMappings.Add("BillStartDate", "BillStartDate");
                FlatBillsData.ColumnMappings.Add("BillEndDate", "BillEndDate");

                FlatBillsData.WriteToServer(tempBillCycle);
            }

            SocietyCon.Close();
        }
    }
예제 #18
0
    protected void btnBillcycleSubmit_Click(object sender, EventArgs e)//Activated Bill
    {
        DataAccess dacess = new DataAccess();

        Double Amount      = 0;
        String Description = "";
        Double PrevBalance = 0;

        String billType = HiddenField2.Value;

        //Added by Aarshi on 17 Aug 2017 for code restructuring
        BillPlan billPlan = new BillPlan();
        int      billid   = billPlan.GetBillID(billType);

        String   CycleStart = txtCyclestart.Text;
        String   CycleEnD   = txtCycleend.Text;
        String   ChargeType = HiddenFieldChargeType.Value;
        DateTime Date       = Utility.GetCurrentDateTimeinUTC();
        String   CycleType  = labelcycletype.Text;
        String   Rate       = labelRate.Text;
        String   FlatNumber = lblFlatNumber.Text;



        //Added by Aarshi on 17 Aug 2017 for code restructuring
        BillCycle billCycle = new BillCycle();
        //   int ID = billCycle.GetFlatID(FlatNumber);
        int ID    = Convert.ToInt32(FlatNumber);
        int count = 0;

        if (ID != 0)
        {
            DateTime startdate = DateTime.ParseExact(CycleStart, "dd-MM-yyyy", null);
            DateTime enddate   = DateTime.ParseExact(CycleEnD, "dd-MM-yyyy", null);

            //BillCycle billCycle = new BillCycle();
            // Bill.ActivateBillForFlat(Convert.ToInt32(billid), FlatNumber, Convert.ToDateTime(CycleStart), Convert.ToDateTime(CycleEnD));
            //  bool result = true;   // = billCycle.AddSingleFlatBillCycle(Convert.ToInt32(billid), FlatNumber, Convert.ToDateTime(startdate), Convert.ToDateTime(enddate), "Activate Bill");

            GenerateBill genBill = new GenerateBill();
            genBill.AmountTobePaid       = Convert.ToInt32(Rate);
            genBill.AmountPaid           = 0;
            genBill.AmountPaidDate       = DateTime.Now;
            genBill.BillDescription      = Description;
            genBill.BillEndDate          = enddate;
            genBill.BillMonth            = enddate;
            genBill.BillTypeID           = 5;
            genBill.BillStartDate        = DateTime.UtcNow;
            genBill.CurrentBillAmount    = 500;
            genBill.ActionType           = "Activate";
            genBill.Activated            = 1;
            genBill.CycleType            = "Quaterly";
            genBill.FlatID               = ID;
            genBill.InvoiceID            = "";
            genBill.ModifiedAt           = DateTime.UtcNow;
            genBill.PaymentDueDate       = DateTime.UtcNow.AddDays(7);
            genBill.PaymentMode          = "";
            genBill.PreviousMonthBalance = 0;
            genBill.SocietyBillID        = 2;
            genBill.SocietyID            = 1;
            genBill.TransactionID        = "";


            genBill.op_BillType = "";

            Bill bill = new Bill();

            //bool isInserted = bill.InsertNewBillPay(genBill);



            /*  if (result)
             * {
             *   // count = Bill.InsertFirstZeroBill(FlatNumber, billid, CycleType, CycleStart);
             * }*/
        }

        else
        {
            lblbilltypeexist.Text = FlatNumber + " is Not Exist with this Society";
        }


        if (count == 1)
        {
            lblbilltypeexist.Text = "Bill Generated Sucessfully";
        }

        else
        {
            lblbilltypeexist.Text = "Bill Generated Failed";
        }


        LoadActivatedBill();
    }