コード例 #1
0
 protected void Button3_Click(object sender, EventArgs e)
 {
     Response.Clear();
     Response.Buffer = true;
     Response.AddHeader("content-disposition", "attachment;filename=كشف حساب استاذ مساعد.xls");
     Response.Charset     = "";
     Response.ContentType = "application/vnd.ms-excel";
     {
         using (StringWriter sw = new StringWriter())
         {
             HtmlTextWriter hw = new HtmlTextWriter(sw);
             AccountGrd.RenderControl(hw);
             string style = "<style> .textmode { } </style>";
             Response.Write(style);
             Response.Output.Write(sw.ToString());
             Response.Flush();
             Response.End();
         }
     }
 }
コード例 #2
0
        protected void SaerchBtn_Click(object sender, EventArgs e)
        {
            FromDateTxt.Text = ReformateDateFromPicker(FromDateTxt.Text);
            FalseCounter     = 0;
            TaxFlag          = false;
            OldKeadID        = 0;

            entry      = new Entry();
            Entry_List = new List <Entry>();

            Result_lst.Clear();
            LSales = db.PurchaseInvoice.ToList().Where(o => o.InvoiceDate <= ExtendedMethod.FormatDate(FromDateTxt.Text) &
                                                       o.PurchaseType == bool.Parse(BillTypeDrop.SelectedValue)
                                                       ).ToList();
            //  Sale.GetAllPurchaseInvoiceInDate(DateTime.Parse(FromDateTxt.Text,
            //    CultureInfo.CreateSpecificCulture("ar-EG")).ToString(),
            //  bool.Parse(BillTypeDrop.SelectedValue));//Sale.GetAllPurchaseInvoice(FromDateTxt.Text, FromDateTxt .Text,BillTypeDrop.SelectedValue);
            foreach (var tt in LSales)
            {
                if (tt.KeadNo == 0)
                {
                    FalseCounter++;
                }
                if (tt.PurchaseType == true)
                {
                    if (tt.KeadNo != 0)
                    {
                        TaxFlag   = true;
                        OldKeadID = (int)tt.KeadNo;

                        entry = db.Entry.FirstOrDefault(o => o.EntryID == int.Parse(OldKeadID.ToString()));
                        //entry = entry.GetAllEntryByID(int.Parse(OldKeadID.ToString())).FirstOrDefault();
                        Entry_List.Add(entry);
                        db.Entry.RemoveRange(Entry_List);
                        //  entry.Operations("Delete", Entry_List);
                        db.SaveChanges();
                    }

                    Result_lst.Add(new SalesResults
                    {
                        moveID       = tt.Id,
                        SValue       = decimal.Parse(tt.Total.ToString()),
                        KeadNo       = (int)tt.KeadNo,
                        subAccountID = int.Parse(tt.SubAccountId.ToString())
                    });
                }
                else
                {
                    if (tt.KeadNo != 0)
                    {
                        TaxFlag   = true;
                        OldKeadID = (int)tt.KeadNo;
                        entry     = db.Entry.FirstOrDefault(o => o.EntryID == int.Parse(OldKeadID.ToString()));// entry.GetAllEntryByID(int.Parse(OldKeadID.ToString())).FirstOrDefault();
                        Entry_List.Add(entry);
                        //entry.Operations("Delete", Entry_List);
                        db.Entry.RemoveRange(Entry_List);
                        db.SaveChanges();
                    }
                    // SNet = tt.Value_LE+tt.Tax_Added-tt.CommercialTax, SValue =tt.Value_LE
                    Result_lst.Add(new SalesResults
                    {
                        moveID       = tt.Id,
                        SValue       = (decimal)tt.Total,
                        KeadNo       = (int)tt.KeadNo,
                        subAccountID = int.Parse(tt.SubAccountId.ToString())
                    });
                }
            }
            AccountGrd.DataSource = Result_lst;
            AccountGrd.DataBind();
            if (Result_lst.Count > 0)
            {
                AccountGrd.FooterRow.Cells[0].Text = "اجماليات";
                AccountGrd.FooterRow.Cells[1].Text = Result_lst.Sum(c => c.SValue).ToString("#.00");
            }
            else
            {
                ClientScript.RegisterStartupScript(this.GetType(),
                                                   "تنبيه", "alert('لا يوجد نتائج');", true);
            }
        }
コード例 #3
0
        protected void SaveBtn_Click(object sender, EventArgs e)
        {
            FromDateTxt.Text = ReformateDateFromPicker(FromDateTxt.Text);
            entry            = new Entry();
            Entry_List       = new List <Entry>();
            Sale             = new PurchaseInvoice();
            LSales           = new List <PurchaseInvoice>();
            int RecordID          = 0;
            int EntryIDInEditMode = 0;
            int MaxEntrID;

            if (!TaxFlag)
            {
                //entry.maxid();
                MaxEntrID = (int)db.Entry.ToList().Max(o => o.EntryID) + 1;
                // MaxEntrID =MoveID;
            }
            else
            {
                MaxEntrID = OldKeadID;
            }
            decimal Mab3at = 0, Khasm = 0, khasmarba7tgary = 0, AddedValueTax = 0;

            foreach (var grdrow in Result_lst)
            {
                // entry.maxRecordID(entry.MoveID);
                RecordID = (int)db.Entry.ToList().Where(o => o.EntryID == MaxEntrID).Max(s => s.RecordID) + 1;
                // = RecordID;

                Mab3at += grdrow.SValue;

                //حالة التعديل
                if (EditFlag == true && FalseCounter != Result_lst.Count)
                {
                    if (grdrow.KeadNo != 0)
                    {
                        EntryIDInEditMode = grdrow.KeadNo;
                    }
                    else
                    {
                        grdrow.KeadNo = Result_lst.ElementAtOrDefault(0).KeadNo;
                    }

                    Entry_List.Add(new Entry()
                    {
                        EntryID       = grdrow.KeadNo,
                        RecordID      = int.Parse(grdrow.moveID),
                        EntryType     = " قيد" + BillTypeDrop.SelectedItem.Text,
                        SubAccount_id = grdrow.subAccountID,//  العميل دائن يقيمة البضاعه
                        value         = grdrow.SValue,
                        status        = "دائن",
                        Date          = DateTime.Parse(FromDateTxt.Text, CultureInfo.CreateSpecificCulture("ar-EG")),
                        description   = "المورد دائن يقيمة البضاعه",
                    });
                }
                else
                {
                    Entry_List.Add(new Entry()
                    {
                        EntryID       = MaxEntrID,
                        RecordID      = int.Parse(grdrow.moveID),
                        EntryType     = " قيد" + BillTypeDrop.SelectedItem.Text,
                        SubAccount_id = grdrow.subAccountID,//  العميل دائن يقيمة البضاعه
                        value         = grdrow.SValue,
                        status        = "دائن",
                        Date          = DateTime.Parse(FromDateTxt.Text, CultureInfo.CreateSpecificCulture("ar-EG")),
                        description   = "المورد دائن يقيمة البضاعه",
                    });
                }


                RecordID++;



                Sale = db.PurchaseInvoice.FirstOrDefault(o => o.PurchaseType == bool.Parse(BillTypeDrop.SelectedValue) &
                                                         o.KeadNo == int.Parse(grdrow.moveID));
                //   Sale.GetPOByOrderID(grdrow.moveID,bool.Parse( BillTypeDrop.SelectedValue));
                //  Sale.KeadNo = MaxEntrID;
                if (FalseCounter == Result_lst.Count)//جديد
                {
                    Sale.KeadNo = MaxEntrID;
                }
                else
                {
                    Sale.KeadNo = grdrow.KeadNo;
                }
                LSales.Add(Sale);
            }
            /////////////////End Loop
            if (EditFlag == true && FalseCounter != Result_lst.Count)
            {
                if (Mab3at > 0)
                {
                    Entry_List.Add(new Entry()
                    {
                        EntryID       = EntryIDInEditMode,
                        RecordID      = 0,
                        EntryType     = " قيد" + BillTypeDrop.SelectedItem.Text,
                        SubAccount_id = 32010002,//حساب المشتريات
                        value         = Mab3at,
                        status        = "مدين",
                        Date          = DateTime.Parse(FromDateTxt.Text, CultureInfo.CreateSpecificCulture("ar-EG")),
                        description   = "حساب المشتريات",
                    });
                }
            }
            else
            {
                if (Mab3at > 0)
                {
                    Entry_List.Add(new Entry()
                    {
                        EntryID       = MaxEntrID,
                        RecordID      = 0,
                        EntryType     = " قيد" + BillTypeDrop.SelectedItem.Text,
                        SubAccount_id = 32010002,//حساب المبيعات
                        value         = Mab3at,
                        status        = "مدين",
                        Date          = DateTime.Parse(FromDateTxt.Text, CultureInfo.CreateSpecificCulture("ar-EG")),
                        description   = "حساب المشتريات",
                    });
                }
            }


            ///////////////////////



            if (EditFlag == true && FalseCounter != Result_lst.Count)
            {
                foreach (var en in Entry_List)
                {
                    en.LoginID = ExtendedMethod.LoginedUser.Id;
                    db.Entry.AddOrUpdate();
                }
                db.SaveChanges();
                //  entry.Operations("Edit", Entry_List);
                addErrorTxt.Text = "تم الحفظ بنجاح";
            }
            else
            {
                db.Entry.AddRange(Entry_List);
                db.SaveChanges();
                //  entry.Operations("Add", Entry_List);
                addErrorTxt.Text = "تمت الاضافة بنجاح";
            }
            addErrorTxt.ForeColor = System.Drawing.Color.Green;
            foreach (var s in LSales)
            {
                // s.UserID = ExtendedMethod.LoginedUser.Id;
                db.PurchaseInvoice.AddOrUpdate(s);
            }
            db.SaveChanges();
            //  Sale.Operations("Edit", LSales);
            AccountGrd.DataSource = null;
            AccountGrd.DataBind();

            FromDateTxt.Text           = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
            BillTypeDrop.SelectedIndex = 0;
        }
コード例 #4
0
        public void Calc_Operation()
        {
            Account           = new SubAccount();
            Khazna_Moved_List = new List <Entry>();

            Khazna_Moved = new Entry();


            Khazna_Moved_List = db.Entry.ToList().Where(o => o.SubAccount_id == int.Parse(AccountDropID.SelectedValue) &
                                                        o.Date <= ExtendedMethod.FormatDate(ToDateTxt.Text)).ToList();
            //Khazna_Moved.GetEntry_ByAccountIDByDate(int.Parse(AccountDropID.SelectedValue), ToDateTxt.Text);


            SubAccount sub_Account = new SubAccount();

            sub_Account = db.SubAccount.ToList().FirstOrDefault(o => o.ID == int.Parse(AccountDropID.SelectedValue));
            // sub_Account.GetSubAccount_ByID(int.Parse(AccountDropID.SelectedValue)).ElementAtOrDefault(0);
            float Account_Sum = float.Parse(sub_Account.ABalance.ToString());

            Account_Operations           = new AccountOperationsGrd();
            AccountOperations_List       = new List <AccountOperationsGrd>();
            Account_Mony_Operations_List = new List <Entry>();
            Account_Operations_List      = new List <AccountOperationsGrd>();
            List <AccountOperationsGrd> FinalGrd = new List <AccountOperationsGrd>();

            //  DateTime.Parse(operation.Date.ToString()).Year
            //DateTime RD= DateTime.ParseExact(sub_Account.RegisterDate.ToString(), "yyyy-MM-dd", null);
            if (sub_Account.BType == "مدين")
            {
                FinalGrd.Add(new AccountOperationsGrd()
                {
                    OperationID   = 0,
                    OperationDate = (DateTime)sub_Account.RegisterDate,

                    CreditBalance   = 0,
                    Credit_Movement = 0,
                    IndebtBalance   = float.Parse(sub_Account.ABalance.ToString()),
                    //InDebt_Movement = float.Parse(sub_Account.ABalance.ToString()),
                    Description = "رصيد افتتاحى",
                });
            }
            else
            {
                FinalGrd.Add(new AccountOperationsGrd()
                {
                    OperationID   = 0,
                    OperationDate = (DateTime)sub_Account.RegisterDate,

                    CreditBalance   = 0,
                    Credit_Movement = 0,
                    IndebtBalance   = -float.Parse(sub_Account.ABalance.ToString()),
                    //InDebt_Movement = float.Parse(sub_Account.ABalance.ToString()),
                    Description = "رصيد افتتاحى",
                });
            }



            //كل العمليات مع الخزنة الخاصة بaccount
            foreach (var Khazna in Khazna_Moved_List)
            {
                Account_Mony_Operations_List.Add(new Entry
                {
                    ID            = (int)Khazna.EntryID,
                    status        = Khazna.status,
                    value         = Khazna.value,
                    description   = Khazna.description,
                    SubAccount_id = Khazna.SubAccount_id,
                    Date          = Khazna.Date
                });
            }


            Account_Mony_Operations_List.OrderByDescending(a => a.Date);

            //Concatination
            foreach (var operation in Account_Mony_Operations_List)
            {
                string date = DateTime.Parse(operation.Date.ToString()).Year + "-" + DateTime.Parse(operation.Date.ToString()).Month + "-" + DateTime.Parse(operation.Date.ToString()).Day;
                float  sum  = Account_Sum > float.Parse(operation.value.ToString()) ? Account_Sum - float.Parse(operation.value.ToString()) : float.Parse(operation.value.ToString()) - Account_Sum;

                // Account_Sum
                if (operation.status == "دائن")//مستلم
                {
                    Account_Operations_List.Add(new AccountOperationsGrd()
                    {
                        OperationID     = operation.ID,
                        OperationDate   = ExtendedMethod.FormatDate(date),
                        Description     = operation.description,
                        CreditBalance   = sum,
                        IndebtBalance   = 0,
                        Credit_Movement = float.Parse(operation.value.ToString()),
                        InDebt_Movement = 0,
                        state           = false,
                        ABalance        = float.Parse(sub_Account.ABalance.ToString())
                    });
                }
                else//مصروف
                {
                    Account_Operations_List.Add(new AccountOperationsGrd()
                    {
                        OperationID     = operation.ID,
                        OperationDate   = ExtendedMethod.FormatDate(date),
                        Description     = operation.description,
                        CreditBalance   = 0,
                        IndebtBalance   = sum,
                        Credit_Movement = 0,
                        InDebt_Movement = float.Parse(operation.value.ToString()),
                        state           = true,
                        ABalance        = float.Parse(sub_Account.ABalance.ToString())
                    });
                }
            }
            Account_Operations_List = Account_Operations_List.OrderBy(o => o.OperationDate).ToList();
            string Todate = ReformateDateFromPicker(ToDateTxt.Text); //DateTime.Parse(ToDateTxt.Text).Year + "-" + DateTime.Parse(ToDateTxt.Text).Month + "-" + DateTime.Parse(ToDateTxt.Text).Day;

            FinalGrd.AddRange(Account_Operations_List.Where(o => o.OperationDate <= ExtendedMethod.FormatDate(Todate)));
            ////FinalGrd.AddRange(Account_Operations_List.Where(o => o.OperationDate >= DateTime.Parse(fromdate) & o.OperationDate <= DateTime.Parse(Todate)));
            //FinalGrd.Add(new AccountOperationsGrd()
            //{
            //    CreditBalance = FinalGrd.Sum(g => g.CreditBalance),
            //    Credit_Movement = FinalGrd.Sum(g => g.Credit_Movement),
            //    IndebtBalance = FinalGrd.Sum(g => g.IndebtBalance),
            //    InDebt_Movement = FinalGrd.Sum(g => g.InDebt_Movement),
            //    OperationID = 0,
            //    Description = "",
            //    OperationDate = FinalGrd.LastOrDefault().OperationDate
            //});

            float lastBalance = FinalGrd.FirstOrDefault().state == true ? (FinalGrd.FirstOrDefault().CreditBalance) + (FinalGrd.Sum(c => c.Credit_Movement)) - (FinalGrd.Sum(c => c.InDebt_Movement)) :
                                (FinalGrd.FirstOrDefault().IndebtBalance) + (FinalGrd.Sum(c => c.InDebt_Movement)) - (FinalGrd.Sum(c => c.Credit_Movement));

            if (sub_Account.BType == "مدين")
            {
                Account_Operations = new AccountOperationsGrd()
                {
                    CreditBalance   = FinalGrd.Sum(g => g.CreditBalance),
                    Credit_Movement = FinalGrd.Sum(g => g.Credit_Movement),
                    IndebtBalance   = FinalGrd.Sum(g => g.IndebtBalance),
                    InDebt_Movement = FinalGrd.Sum(g => g.InDebt_Movement),
                    OperationID     = 0,
                    Description     = AccountDropID.SelectedItem.Text,
                    OperationDate   = FinalGrd.LastOrDefault().OperationDate,
                    ABalance        = float.Parse(sub_Account.ABalance.ToString()),
                    LastBalance     = lastBalance
                };
            }
            else
            {
                Account_Operations = new AccountOperationsGrd()
                {
                    CreditBalance   = FinalGrd.Sum(g => g.CreditBalance),
                    Credit_Movement = FinalGrd.Sum(g => g.Credit_Movement),
                    IndebtBalance   = FinalGrd.Sum(g => g.IndebtBalance),
                    InDebt_Movement = FinalGrd.Sum(g => g.InDebt_Movement),
                    OperationID     = 0,
                    Description     = AccountDropID.SelectedItem.Text,
                    OperationDate   = FinalGrd.LastOrDefault().OperationDate,
                    ABalance        = -float.Parse(sub_Account.ABalance.ToString()),
                    LastBalance     = lastBalance
                };
            }

            FinalGrd.Clear();
            FinalGrd.Add(Account_Operations);
            FinalGrd1.Add(Account_Operations);
            AccountGrd.DataSource = FinalGrd1; //Account_Operations_List.Where(o=>o.OperationDate >= DateTime.Parse(FromDateTxt.Text) &  o.OperationDate <= DateTime.Parse(ToDateTxt.Text));
            AccountGrd.DataBind();
        }
コード例 #5
0
        public void Calc_Operation()
        {
            attemptValue      = 0;
            Account           = new SubAccount();
            Khazna_Moved_List = new List <KhznaMoved>();
            Bank_Moved_List   = new List <BankMoved>();
            Sales_Order_List  = new List <SalesInvoice>();
            Khazna_Moved      = new KhznaMoved();
            Bank_Moved        = new BankMoved();
            Sale_Order        = new SalesInvoice();

            // Khazna_Moved_List = Khazna_Moved.GetKhznaMoved_ByAccountIDByDate(int.Parse(AccountDropID.SelectedValue),FromDateTxt.Text,ToDateTxt.Text);
            // Bank_Moved_List = Bank_Moved.BankMoved_Between_Date_ForAccount(FromDateTxt.Text,ToDateTxt.Text, int.Parse(AccountDropID.SelectedValue));


            Khazna_Moved_List = db.KhznaMoved.ToList().Where(o => o.FinancialPostitionType == "عربة").ToList();                  //  Khazna_Moved.GetKhznaMoved_ByAccountID(int.Parse(AccountDropID.SelectedValue));
            Bank_Moved_List   = db.BankMoved.ToList().Where(o => o.FinancialPostitionType == "عربة").ToList();                   //Bank_Moved.GetBankMoved_ByAccountID(int.Parse(AccountDropID.SelectedValue));
            Sales_Order_List  = db.SalesInvoice.ToList().Where(c => c.CarId == int.Parse(AccountDropID.SelectedValue)).ToList(); //Sale_Order.GetOrdersByCustID(int.Parse(AccountDropID.SelectedValue));


            // SubAccount sub_Account = new SubAccount();
            // sub_Account = db.SubAccount.ToList().FirstOrDefault(s => s.ID == int.Parse(AccountDropID.SelectedValue));//  sub_Account.GetSubAccount_ByID(int.Parse(AccountDropID.SelectedValue)).ElementAtOrDefault(0);
            float Account_Sum = 0;//float.Parse(sub_Account.ABalance.ToString());

            Account_Operations           = new AccountOperationsGrd();
            AccountOperations_List       = new List <AccountOperationsGrd>();
            Account_Mony_Operations_List = new List <KhznaMoved>();
            Account_Operations_List      = new List <AccountOperationsGrd>();
            List <AccountOperationsGrd> FinalGrd = new List <AccountOperationsGrd>();
            List <AccountOperationsGrd> LastGrd  = new List <AccountOperationsGrd>();

            //  DateTime.Parse(operation.Date.ToString()).Year
            //DateTime RD= DateTime.ParseExact(sub_Account.RegisterDate.ToString(), "yyyy-MM-dd", null);

            //if (sub_Account.BType == "دائن")
            //{
            //    FinalGrd.Add(new AccountOperationsGrd()
            //    {
            //        OperationID = 0,
            //        OperationDate = (DateTime)sub_Account.RegisterDate,

            //        CreditBalance = float.Parse(sub_Account.ABalance.ToString()),
            //        Credit_Movement = 0,
            //        IndebtBalance = 0,
            //        InDebt_Movement = 0,
            //        Description = "رصيد افتتاحى",
            //        State = sub_Account.BType

            //    });
            //}
            //else
            //{
            //    FinalGrd.Add(new AccountOperationsGrd()
            //    {

            //        OperationID = 0,
            //        OperationDate = (DateTime)sub_Account.RegisterDate,

            //        CreditBalance = 0,
            //        Credit_Movement = 0,
            //        IndebtBalance = float.Parse(sub_Account.ABalance.ToString()),
            //        InDebt_Movement = 0,
            //        Description = "رصيد افتتاحى",
            //        State = sub_Account.BType
            //    });
            //}

            //  LastGrd.Add(FinalGrd[0]);
            //كل العمليات مع الخزنة الخاصة بaccount
            foreach (var Khazna in Khazna_Moved_List)
            {
                Account_Mony_Operations_List.Add(new KhznaMoved
                {
                    ID          = Khazna.ID,
                    state       = Khazna.state == true ? false : true,
                    Value       = Khazna.Value,
                    Description = Khazna.Description,
                    AccountID   = Khazna.AccountID,
                    Date        = Khazna.Date
                });
            }

            //كل العمليات الواقعة على التعاملات البنكية
            foreach (var bank in Bank_Moved_List)
            {
                Account_Mony_Operations_List.Add(new KhznaMoved
                {
                    ID          = bank.ID,
                    state       = bank.state == true ? false : true,
                    Value       = bank.Value,
                    Description = bank.Description,
                    AccountID   = bank.AccountID,
                    Date        = bank.Date
                });
            }

            //فواتير البيع
            foreach (var Sale in Sales_Order_List)
            {
                Account_Mony_Operations_List.Add(new KhznaMoved
                {
                    ID          = int.Parse(Sale.Id),
                    state       = bool.Parse(Sale.PurchaseType.ToString()),
                    Value       = decimal.Parse(Sale.Total.ToString()),
                    Description = bool.Parse(Sale.PurchaseType.ToString()) ? "اذن صرف" : "مرتجع بضاعة",
                    AccountID   = Sale.CarId,
                    Date        = DateTime.Parse(Sale.InvoiceDate.ToString(), CultureInfo.CreateSpecificCulture("ar-EG"))
                });
            }

            // Account_Mony_Operations_List.OrderBy(a => a.Date);


            //Concatination//////////////////////////////////////////////////////////////////////////////////////////////////////////

            ConcatenationLists(Account_Mony_Operations_List, Account_Operations_List, Account_Sum);
            //الشغل على Account_Operations_List
            int i = 1;

            Account_Operations_List = Account_Operations_List.OrderBy(o => o.OperationDate).ToList();
            FinalGrd.Add(Account_Operations_List[0]);
            Account_Operations_List.RemoveAt(0);
            attemptValue = FinalGrd[0].State == "دائن" ? FinalGrd[0].CreditBalance : FinalGrd[0].IndebtBalance;
            string CurrentState = "";

            foreach (var operation in Account_Operations_List)
            {
                //CurrentState = FinalGrd[i - 1].State == "مدين" ? Math.Sign(attemptValue + operation.InDebt_Movement - operation.Credit_Movement) >= 0 ? "مدين" : "دائن" :
                //     Math.Sign(attemptValue +  operation.Credit_Movement- operation.InDebt_Movement) >= 0 ? "دائن" : "مدين";

                if (FinalGrd[i - 1].State == "مدين")
                {
                    if (operation.InDebt_Movement > 0)
                    {
                        attemptValue = Math.Abs(attemptValue + operation.InDebt_Movement - operation.Credit_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "مدين";
                        }
                        else
                        {
                            CurrentState = "دائن";
                        }
                    }
                    else
                    {
                        attemptValue = (attemptValue - operation.Credit_Movement + operation.InDebt_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "مدين";
                        }
                        else
                        {
                            CurrentState = "دائن";
                            attemptValue = -attemptValue;
                        }
                    }
                }
                else
                {
                    if (operation.Credit_Movement > 0)
                    {
                        attemptValue = Math.Abs(attemptValue + operation.Credit_Movement - operation.InDebt_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "دائن";
                        }
                        else
                        {
                            CurrentState = "مدين";
                        }
                    }
                    else
                    {
                        attemptValue = (attemptValue - operation.InDebt_Movement + operation.Credit_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "دائن";
                        }
                        else
                        {
                            CurrentState = "مدين";
                            attemptValue = -attemptValue;
                        }
                    }
                }
                if (CurrentState == "دائن")
                {
                    FinalGrd.Add(new AccountOperationsGrd()
                    {
                        CreditBalance   = attemptValue,
                        Credit_Movement = operation.Credit_Movement,
                        IndebtBalance   = operation.IndebtBalance,
                        InDebt_Movement = operation.InDebt_Movement,
                        Description     = operation.Description,
                        OperationDate   = operation.OperationDate,
                        OperationID     = operation.OperationID,
                        State           = "دائن",
                        OperationType   = operation.OperationType
                    });
                }
                else
                {
                    //if (operation.InDebt_Movement  > 0)
                    //{
                    //    attemptValue = Math.Abs(attemptValue + operation.InDebt_Movement - operation.Credit_Movement);
                    //}
                    //else
                    //{
                    //    attemptValue = Math.Abs(attemptValue + operation.Credit_Movement - operation.InDebt_Movement);
                    //}

                    FinalGrd.Add(new AccountOperationsGrd()
                    {
                        CreditBalance   = operation.CreditBalance,
                        Credit_Movement = operation.Credit_Movement,
                        IndebtBalance   = attemptValue,// operation.IndebtBalance,
                        InDebt_Movement = operation.InDebt_Movement,
                        Description     = operation.Description,
                        OperationDate   = operation.OperationDate,
                        OperationID     = operation.OperationID,
                        State           = "مدين",
                        OperationType   = operation.OperationType
                    });
                }



                i++;
            }



            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            // Account_Operations_List = Account_Operations_List.OrderBy(o => o.OperationDate).ToList();
            string fromdate = FromDateTxt.Text; //DateTime.Parse(FromDateTxt.Text).Year + "-" + DateTime.Parse(FromDateTxt.Text).Month + "-" + DateTime.Parse(FromDateTxt.Text).Day;
            string Todate   = ToDateTxt.Text;   //DateTime.Parse(ToDateTxt.Text).Year + "-" + DateTime.Parse(ToDateTxt.Text).Month + "-" + DateTime.Parse(ToDateTxt.Text).Day;
            var    mydate   = DateTime.Parse(fromdate, CultureInfo.CreateSpecificCulture("ar-EG"));
            var    mydateTo = DateTime.Parse(Todate, CultureInfo.CreateSpecificCulture("ar-EG"));

            LastGrd.Add(FinalGrd.Where(o => o.OperationDate <= mydate).LastOrDefault());
            if (LastGrd.Last() == null)
            {
                LastGrd.Remove(LastGrd.Last());
            }
            LastGrd.AddRange(FinalGrd.Where(o => o.OperationDate >= mydate & o.OperationDate <= mydateTo));
            AccountGrd.DataSource = LastGrd;// FinalGrd.Where(o => o.OperationDate < DateTime.Parse(fromdate)).LastOrDefault() && o.OperationDate >= DateTime.Parse(fromdate) & o.OperationDate <= DateTime.Parse(Todate) ); //Account_Operations_List.Where(o=>o.OperationDate >= DateTime.Parse(FromDateTxt.Text) &  o.OperationDate <= DateTime.Parse(ToDateTxt.Text));
            AccountGrd.DataBind();
        }
コード例 #6
0
        public void Calc_Operation()
        {
            attemptValue      = 0;
            Account           = new SubAccount();
            Khazna_Moved_List = new List <Entry>();

            Khazna_Moved = new Entry();



            Khazna_Moved_List = db.Entry.ToList().Where(o => o.SubAccount_id == int.Parse(AccountDropID.SelectedValue) & (
                                                            o.Date >= ExtendedMethod.FormatDate(FromDateTxt.Text) & o.Date <= ExtendedMethod.FormatDate(ToDateTxt.Text))).ToList();// Khazna_Moved.GetEntry_ByAccountIDByDate(
            // int.Parse(AccountDropID.SelectedValue), FromDateTxt.Text, ToDateTxt.Text);



            SubAccount sub_Account = new SubAccount();

            sub_Account = db.SubAccount.ToList().FirstOrDefault(o => o.ID == int.Parse(AccountDropID.SelectedValue));
            //   sub_Account.GetSubAccount_ByID(int.Parse(AccountDropID.SelectedValue)).ElementAtOrDefault(0);
            float Account_Sum = float.Parse(sub_Account.ABalance.ToString());

            Account_Operations           = new AccountOperationsGrd();
            AccountOperations_List       = new List <AccountOperationsGrd>();
            Account_Mony_Operations_List = new List <Entry>();
            Account_Operations_List      = new List <AccountOperationsGrd>();
            List <AccountOperationsGrd> FinalGrd = new List <AccountOperationsGrd>();
            List <AccountOperationsGrd> LastGrd  = new List <AccountOperationsGrd>();

            //  DateTime.Parse(operation.Date.ToString()).Year
            //DateTime RD= DateTime.ParseExact(sub_Account.RegisterDate.ToString(), "yyyy-MM-dd", null);

            if (sub_Account.BType == "دائن")
            {
                FinalGrd.Add(new AccountOperationsGrd()
                {
                    OperationID   = 0,
                    OperationDate = (DateTime)sub_Account.RegisterDate,

                    CreditBalance   = float.Parse(sub_Account.ABalance.ToString()),
                    Credit_Movement = 0,
                    IndebtBalance   = 0,
                    InDebt_Movement = 0,
                    Description     = "رصيد افتتاحى",
                    State           = sub_Account.BType
                });
            }
            else
            {
                FinalGrd.Add(new AccountOperationsGrd()
                {
                    OperationID   = 0,
                    OperationDate = (DateTime)sub_Account.RegisterDate,

                    CreditBalance   = 0,
                    Credit_Movement = 0,
                    IndebtBalance   = float.Parse(sub_Account.ABalance.ToString()),
                    InDebt_Movement = 0,
                    Description     = "رصيد افتتاحى",
                    State           = sub_Account.BType
                });
            }

            //  LastGrd.Add(FinalGrd[0]);
            //كل العمليات مع الخزنة الخاصة بaccount
            foreach (var Khazna in Khazna_Moved_List)
            {
                Account_Mony_Operations_List.Add(new Entry
                {
                    ID            = (int)Khazna.EntryID,
                    status        = Khazna.status,
                    value         = Khazna.value,
                    description   = Khazna.description,
                    SubAccount_id = Khazna.SubAccount_id,
                    Date          = Khazna.Date
                });
            }



            // Account_Mony_Operations_List.OrderBy(a => a.Date);


            //Concatination//////////////////////////////////////////////////////////////////////////////////////////////////////////

            ConcatenationLists(Account_Mony_Operations_List, Account_Operations_List, Account_Sum);
            //الشغل على Account_Operations_List
            int i = 1;

            Account_Operations_List = Account_Operations_List.OrderBy(o => o.OperationDate).ToList();
            attemptValue            = FinalGrd[0].State == "دائن" ? FinalGrd[0].CreditBalance : FinalGrd[0].IndebtBalance;
            string CurrentState = "";

            foreach (var operation in Account_Operations_List)
            {
                //CurrentState = FinalGrd[i - 1].State == "مدين" ? Math.Sign(attemptValue + operation.InDebt_Movement - operation.Credit_Movement) >= 0 ? "مدين" : "دائن" :
                //     Math.Sign(attemptValue +  operation.Credit_Movement- operation.InDebt_Movement) >= 0 ? "دائن" : "مدين";

                if (FinalGrd[i - 1].State == "مدين")
                {
                    if (operation.InDebt_Movement > 0)
                    {
                        attemptValue = Math.Abs(attemptValue + operation.InDebt_Movement - operation.Credit_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "مدين";
                        }
                        else
                        {
                            CurrentState = "دائن";
                        }
                    }
                    else
                    {
                        attemptValue = (attemptValue - operation.Credit_Movement + operation.InDebt_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "مدين";
                        }
                        else
                        {
                            CurrentState = "دائن";
                            attemptValue = -attemptValue;
                        }
                    }
                }
                else
                {
                    if (operation.Credit_Movement > 0)
                    {
                        attemptValue = Math.Abs(attemptValue + operation.Credit_Movement - operation.InDebt_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "دائن";
                        }
                        else
                        {
                            CurrentState = "مدين";
                        }
                    }
                    else
                    {
                        attemptValue = (attemptValue - operation.InDebt_Movement + operation.Credit_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "دائن";
                        }
                        else
                        {
                            CurrentState = "مدين";
                            attemptValue = -attemptValue;
                        }
                    }
                }
                if (CurrentState == "دائن")
                {
                    FinalGrd.Add(new AccountOperationsGrd()
                    {
                        CreditBalance   = attemptValue,
                        Credit_Movement = operation.Credit_Movement,
                        IndebtBalance   = operation.IndebtBalance,
                        InDebt_Movement = operation.InDebt_Movement,
                        Description     = operation.Description,
                        OperationDate   = operation.OperationDate,
                        OperationID     = operation.OperationID,
                        State           = "دائن"
                    });
                }
                else
                {
                    //if (operation.InDebt_Movement  > 0)
                    //{
                    //    attemptValue = Math.Abs(attemptValue + operation.InDebt_Movement - operation.Credit_Movement);
                    //}
                    //else
                    //{
                    //    attemptValue = Math.Abs(attemptValue + operation.Credit_Movement - operation.InDebt_Movement);
                    //}

                    FinalGrd.Add(new AccountOperationsGrd()
                    {
                        CreditBalance   = operation.CreditBalance,
                        Credit_Movement = operation.Credit_Movement,
                        IndebtBalance   = attemptValue,// operation.IndebtBalance,
                        InDebt_Movement = operation.InDebt_Movement,
                        Description     = operation.Description,
                        OperationDate   = operation.OperationDate,
                        OperationID     = operation.OperationID,
                        State           = "مدين"
                    });
                }



                i++;
            }



            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
            // Account_Operations_List = Account_Operations_List.OrderBy(o => o.OperationDate).ToList();
            string fromdate = ReformateDateFromPicker(FromDateTxt.Text); //DateTime.Parse(FromDateTxt.Text).Year + "-" + DateTime.Parse(FromDateTxt.Text).Month + "-" + DateTime.Parse(FromDateTxt.Text).Day;
            string Todate   = ReformateDateFromPicker(ToDateTxt.Text);   //DateTime.Parse(ToDateTxt.Text).Year + "-" + DateTime.Parse(ToDateTxt.Text).Month + "-" + DateTime.Parse(ToDateTxt.Text).Day;

            LastGrd.Add(FinalGrd.Where(o => o.OperationDate < ExtendedMethod.FormatDate(fromdate)).LastOrDefault());
            if (LastGrd.Last() == null)
            {
                LastGrd.Remove(LastGrd.Last());
            }
            LastGrd.AddRange(FinalGrd.Where(o => o.OperationDate >= ExtendedMethod.FormatDate(fromdate) & o.OperationDate <= ExtendedMethod.FormatDate(Todate)));

            AccountGrd.DataSource = LastGrd;// FinalGrd.Where(o => o.OperationDate < DateTime.Parse(fromdate)).LastOrDefault() && o.OperationDate >= DateTime.Parse(fromdate) & o.OperationDate <= DateTime.Parse(Todate) ); //Account_Operations_List.Where(o=>o.OperationDate >= DateTime.Parse(FromDateTxt.Text) &  o.OperationDate <= DateTime.Parse(ToDateTxt.Text));
            AccountGrd.DataBind();
        }
コード例 #7
0
        public void Calc_Operation()
        {
            attemptValue          = 0;
            Account               = new SubAccount();
            Khazna_Moved_List     = new List <KhznaMoved>();
            Bank_Moved_List       = new List <BankMoved>();
            Purchase_Invoice_List = new List <PurchaseInvoice>();
            Khazna_Moved          = new KhznaMoved();
            Bank_Moved            = new BankMoved();
            Purchase_Invoice      = new PurchaseInvoice();

            // Khazna_Moved_List = Khazna_Moved.GetKhznaMoved_ByAccountIDByDate(int.Parse(AccountDropID.SelectedValue),FromDateTxt.Text,ToDateTxt.Text);
            // Bank_Moved_List = Bank_Moved.BankMoved_Between_Date_ForAccount(FromDateTxt.Text,ToDateTxt.Text, int.Parse(AccountDropID.SelectedValue));

            Khazna_Moved_List = db.KhznaMoved.ToList().Where(o => o.AccountID == int.Parse(AccountDropID.SelectedValue)).ToList();
            // Khazna_Moved_List = Khazna_Moved.GetKhznaMoved_ByAccountID(int.Parse(AccountDropID.SelectedValue));

            Bank_Moved_List       = db.BankMoved.ToList().Where(o => o.AccountID == int.Parse(AccountDropID.SelectedValue)).ToList();
            Purchase_Invoice_List = db.PurchaseInvoice.ToList().Where(p => p.SubAccountId == int.Parse(AccountDropID.SelectedValue)).ToList();
            //Purchase_Invoice.GetPurchaseInvoiceBySubID(int.Parse(AccountDropID.SelectedValue));


            SubAccount sub_Account = new SubAccount();

            sub_Account = db.SubAccount.ToList().FirstOrDefault(s => s.ID == int.Parse(AccountDropID.SelectedValue));//  sub_Account.GetSubAccount_ByID(int.Parse(AccountDropID.SelectedValue)).ElementAtOrDefault(0);
            float Account_Sum = float.Parse(sub_Account.ABalance.ToString());

            Account_Operations           = new AccountOperationsGrd();
            AccountOperations_List       = new List <AccountOperationsGrd>();
            Account_Mony_Operations_List = new List <KhznaMoved>();
            Account_Operations_List      = new List <AccountOperationsGrd>();
            List <AccountOperationsGrd> FinalGrd = new List <AccountOperationsGrd>();
            List <AccountOperationsGrd> LastGrd  = new List <AccountOperationsGrd>();

            //  DateTime.Parse(operation.Date.ToString()).Year
            //DateTime RD= DateTime.ParseExact(sub_Account.RegisterDate.ToString(), "yyyy-MM-dd", null);

            if (sub_Account.BType == "دائن")
            {
                FinalGrd.Add(new AccountOperationsGrd()
                {
                    OperationID   = 0,
                    OperationDate = (DateTime)sub_Account.RegisterDate,

                    CreditBalance   = float.Parse(sub_Account.ABalance.ToString()),
                    Credit_Movement = 0,
                    IndebtBalance   = 0,
                    InDebt_Movement = 0,
                    Description     = "رصيد افتتاحى",
                    State           = sub_Account.BType
                });
            }
            else
            {
                FinalGrd.Add(new AccountOperationsGrd()
                {
                    OperationID   = 0,
                    OperationDate = (DateTime)sub_Account.RegisterDate,

                    CreditBalance   = 0,
                    Credit_Movement = 0,
                    IndebtBalance   = float.Parse(sub_Account.ABalance.ToString()),
                    InDebt_Movement = 0,
                    Description     = "رصيد افتتاحى",
                    State           = sub_Account.BType
                });
            }

            //  LastGrd.Add(FinalGrd[0]);
            //كل العمليات مع الخزنة الخاصة بaccount
            foreach (var Khazna in Khazna_Moved_List)
            {
                Account_Mony_Operations_List.Add(new KhznaMoved
                {
                    ID          = Khazna.ID,
                    state       = Khazna.state == true ? false : true,
                    Value       = Khazna.Value,
                    Description = Khazna.Description,
                    AccountID   = Khazna.AccountID,
                    Date        = Khazna.Date
                });
            }

            //كل العمليات الواقعة على التعاملات البنكية
            foreach (var bank in Bank_Moved_List)
            {
                Account_Mony_Operations_List.Add(new KhznaMoved
                {
                    ID          = bank.ID,
                    state       = bank.state == true ? false : true,
                    Value       = bank.Value,
                    Description = bank.Description,
                    AccountID   = bank.AccountID,
                    Date        = bank.Date
                });
            }


            //فواتير الشراء
            foreach (var Pur in Purchase_Invoice_List)
            {
                Account_Mony_Operations_List.Add(new KhznaMoved
                {
                    ID          = int.Parse(Pur.Id),
                    state       = (bool)Pur.PurchaseType,
                    Value       = decimal.Parse(Pur.Total.ToString()),
                    Description = Pur.PurchaseType == true?"شراء":"مرتجع شراء",
                    AccountID   = Pur.SubAccountId,
                    Date        = DateTime.Parse(Pur.InvoiceDate.ToString(), CultureInfo.CreateSpecificCulture("ar-EG"))
                });
            }
            List <TransportCommand> TransportComandList = new List <TransportCommand>();

            TransportComandList = db.TransportCommand.ToList();
            //اوامر النقل
            foreach (var Pur in TransportComandList)
            {
                Account_Mony_Operations_List.Add(new KhznaMoved
                {
                    ID          = Pur.Id,
                    state       = true,
                    Value       = decimal.Parse(Pur.TotalTransportPrice.ToString()),
                    Description = "امر نقل",
                    AccountID   = Pur.SubAccVendorId,
                    Date        = ExtendedMethod.FormatDate(ExtendedMethod.ParseDateToString(DateTime.Parse(Pur.TransportCommandTime.ToString())))
                });
            }


            // Account_Mony_Operations_List.OrderBy(a => a.Date);


            //Concatination//////////////////////////////////////////////////////////////////////////////////////////////////////////

            ConcatenationLists(Account_Mony_Operations_List, Account_Operations_List, Account_Sum);
            //الشغل على Account_Operations_List
            int i = 1;

            Account_Operations_List = Account_Operations_List.OrderBy(o => o.OperationDate).ToList();
            attemptValue            = FinalGrd[0].State == "دائن" ? FinalGrd[0].CreditBalance : FinalGrd[0].IndebtBalance;
            string CurrentState = "";

            foreach (var operation in Account_Operations_List)
            {
                //CurrentState = FinalGrd[i - 1].State == "مدين" ? Math.Sign(attemptValue + operation.InDebt_Movement - operation.Credit_Movement) >= 0 ? "مدين" : "دائن" :
                //     Math.Sign(attemptValue +  operation.Credit_Movement- operation.InDebt_Movement) >= 0 ? "دائن" : "مدين";

                if (FinalGrd[i - 1].State == "مدين")
                {
                    if (operation.InDebt_Movement > 0)
                    {
                        attemptValue = Math.Abs(attemptValue + operation.InDebt_Movement - operation.Credit_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "مدين";
                        }
                        else
                        {
                            CurrentState = "دائن";
                        }
                    }
                    else
                    {
                        attemptValue = (attemptValue - operation.Credit_Movement + operation.InDebt_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "مدين";
                        }
                        else
                        {
                            CurrentState = "دائن";
                            attemptValue = -attemptValue;
                        }
                    }
                }
                else
                {
                    if (operation.Credit_Movement > 0)
                    {
                        attemptValue = Math.Abs(attemptValue + operation.Credit_Movement - operation.InDebt_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "دائن";
                        }
                        else
                        {
                            CurrentState = "مدين";
                        }
                    }
                    else
                    {
                        attemptValue = (attemptValue - operation.InDebt_Movement + operation.Credit_Movement);
                        if (attemptValue > 0)
                        {
                            CurrentState = "دائن";
                        }
                        else
                        {
                            CurrentState = "مدين";
                            attemptValue = -attemptValue;
                        }
                    }
                }
                if (CurrentState == "دائن")
                {
                    FinalGrd.Add(new AccountOperationsGrd()
                    {
                        CreditBalance   = attemptValue,
                        Credit_Movement = operation.Credit_Movement,
                        IndebtBalance   = operation.IndebtBalance,
                        InDebt_Movement = operation.InDebt_Movement,
                        Description     = operation.Description,
                        OperationDate   = operation.OperationDate,
                        OperationID     = operation.OperationID,
                        State           = "دائن"
                    });
                }
                else
                {
                    //if (operation.InDebt_Movement  > 0)
                    //{
                    //    attemptValue = Math.Abs(attemptValue + operation.InDebt_Movement - operation.Credit_Movement);
                    //}
                    //else
                    //{
                    //    attemptValue = Math.Abs(attemptValue + operation.Credit_Movement - operation.InDebt_Movement);
                    //}

                    FinalGrd.Add(new AccountOperationsGrd()
                    {
                        CreditBalance   = operation.CreditBalance,
                        Credit_Movement = operation.Credit_Movement,
                        IndebtBalance   = attemptValue,// operation.IndebtBalance,
                        InDebt_Movement = operation.InDebt_Movement,
                        Description     = operation.Description,
                        OperationDate   = operation.OperationDate,
                        OperationID     = operation.OperationID,
                        State           = "مدين"
                    });
                }



                i++;
            }



            ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


            string fromdate = ReformateDateFromPicker(FromDateTxt.Text); // DateTime.Parse(FromDateTxt.Text).Year + "-" + DateTime.Parse(FromDateTxt.Text).Month + "-" + DateTime.Parse(FromDateTxt.Text).Day;
            string Todate   = ReformateDateFromPicker(ToDateTxt.Text);   //DateTime.Parse(ToDateTxt.Text).Year + "-" + DateTime.Parse(ToDateTxt.Text).Month + "-" + DateTime.Parse(ToDateTxt.Text).Day;
            var    mydate   = DateTime.Parse(fromdate, CultureInfo.CreateSpecificCulture("ar-EG"));
            var    mydateTo = DateTime.Parse(Todate, CultureInfo.CreateSpecificCulture("ar-EG"));

            LastGrd.Add(FinalGrd.Where(o => o.OperationDate < mydate).LastOrDefault());
            if (LastGrd.Last() == null)
            {
                LastGrd.Remove(LastGrd.Last());
            }
            LastGrd.AddRange(FinalGrd.Where(o => o.OperationDate >= mydate & o.OperationDate <= mydateTo));
            AccountGrd.DataSource = LastGrd;// FinalGrd.Where(o => o.OperationDate < DateTime.Parse(fromdate)).LastOrDefault() && o.OperationDate >= DateTime.Parse(fromdate) & o.OperationDate <= DateTime.Parse(Todate) ); //Account_Operations_List.Where(o=>o.OperationDate >= DateTime.Parse(FromDateTxt.Text) &  o.OperationDate <= DateTime.Parse(ToDateTxt.Text));
            AccountGrd.DataBind();

            GridView1.DataSource = LastGrd;
            GridView1.DataBind();
            Textbox1.Text      = FromDateTxt.Text;
            Textbox2.Text      = ToDateTxt.Text;
            Dropdownlist1.Text = AccountDropID.SelectedItem.Text;
        }