Exemplo n.º 1
0
        public void Initializ_Page()
        {
            //financial Position initial
            FinancialPos.Checked         = false;
            FinancialPosTypeList.Enabled = false;
            AddRelatednumList.Enabled    = false;
            //
            Khzna_Moved = new KhznaMoved();
            Sub_Account = new SubAccount();
            MonyTypeDrop.SelectedIndex = 0;
            //رقم الاذن
            int MoveID = db.KhznaMoved.ToList().Where(o => o.state == false).Max(k => k.ID) + 1;// Khzna_Moved.maxid(0);

            OperationID.Enabled = false;
            OperationID.Text    = MoveID.ToString();
            //القيمة
            Value.Text = "";
            //من
            FromSubAccountsID.DataSource     = db.SubAccount.ToList().Where(o => o.MainAccount_id != 1103).ToList();// Sub_Account.GetAllSubNotKhazna();//.Select(c=>c.name);
            FromSubAccountsID.DataValueField = "ID";
            FromSubAccountsID.DataTextField  = "name";
            FromSubAccountsID.DataBind();
            //الى
            ToKhaznaDropRow.Visible     = true;
            ToKhaznaDrop.DataSource     = db.SubAccount.ToList().Where(o => o.MainAccount_id == 1103).ToList();//Sub_Account.GetSubAccount_ByUpID(1103);
            ToKhaznaDrop.DataValueField = "ID";
            ToKhaznaDrop.DataTextField  = "name";
            ToKhaznaDrop.DataBind();
            //الملاحظات
            DescTxt.Text = "";
            //التاريخ
            //ReceivedDate.Text = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
            ChecqRow.Visible = false;
            //BankNameRow.Visible = false;
            SarfDateTxt.Text    = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
            SarfDateRow.Visible = false;

            Khzna_Moved_List_static = db.KhznaMoved.ToList().Where(k => k.state == false).ToList();// Khzna_Moved.GetKhznaMovedBystate(0);
            if (Khzna_Moved_List_static.Count > 0)
            {
                MonyInSearchBtn.Enabled         = true;
                MonyInsForSerachDrop.DataSource = Khzna_Moved_List_static.Select(KM => KM.ID);
                MonyInsForSerachDrop.DataBind();
            }
            else
            {
                MonyInSearchBtn.Enabled = false;
            }
            DeleteMonyInBtn.Enabled = false;
            ChequeNoTxt.Text        = "";
            //BankDropID.SelectedIndex = 0;
            EditFlag = false;
            //CheckForPrivilage();
        }
Exemplo n.º 2
0
        protected void SaveBtn_Click(object sender, EventArgs e)
        {
            Entry_List   = new List <Entry>();
            entry        = new Entry();
            khazna_Moved = new KhznaMoved();


            foreach (var Daan in EntryGrd_List)
            {
                Entry_List.Add(new Entry()
                {
                    SubAccount_id = int.Parse(Daan.SubID.ToString()),
                    Date          = DateTime.Parse(ToDateTxt.Text, CultureInfo.CreateSpecificCulture("ar-EG")),
                    description   = Daan.Description,
                    status        = "مدين",
                    value         = decimal.Parse(Daan.Value.ToString()),
                    EntryID       = int.Parse(NewEntryTxtID.Text),
                    RecordID      = Daan.ID,
                    EntryType     = "قيد مدفوعات"
                });
            }
            Entry_List.Add(new Entry()
            {
                EntryID       = int.Parse(NewEntryTxtID.Text),
                SubAccount_id = int.Parse(AccountDropID.SelectedValue),
                Date          = DateTime.Parse(ToDateTxt.Text, CultureInfo.CreateSpecificCulture("ar-EG")),
                description   = "قيد جديد",
                status        = "دائن",
                value         = decimal.Parse(TotalText.Text),
                RecordID      = 0,
                EntryType     = "قيد مدفوعات"
            });

            foreach (var k in Khazna_Moved_List)
            {
                k.EntryState = true;
                k.EntryID    = int.Parse(NewEntryTxtID.Text);
                k.LoginID    = ExtendedMethod.LoginedUser.Id;
            }


            db.Entry.AddRange(Entry_List);
            //entry.Operations("Add", Entry_List);
            foreach (var en in Khazna_Moved_List)
            {
                en.LoginID = ExtendedMethod.LoginedUser.Id;
                db.KhznaMoved.AddOrUpdate(en);
            }
            db.SaveChanges();

            RsltTxt.Text      = "تمت الحفظ بنجاح";
            RsltTxt.ForeColor = System.Drawing.Color.Green;
            Initialize_Page();
        }
        protected void SaerchBtn_Click(object sender, EventArgs e)
        {
            RsltTxt.Text    = "";
            SaveBtn.Visible = true;
            TotalSum        = 0;
            khazna_Moved    = new KhznaMoved();
            entry           = new Entry();
            EntryGrd_List   = new List <EntryGrd>();
            //entry.maxid();

            int maxid = (int)db.Entry.ToList().Max(o => o.EntryID) + 1; //entry.MoveID;

            Khazna_Moved_List = new List <KhznaMoved>();
            ToDateTxt.Text    = ReformateDateFromPicker(ToDateTxt.Text);
            Khazna_Moved_List = db.KhznaMoved.ToList().Where(o => o.AccountID == int.Parse(AccountDropID.SelectedValue) &
                                                             o.state == false & o.Date <= ExtendedMethod.FormatDate(ToDateTxt.Text)).ToList();
            // khazna_Moved.GetAllKhznaMovedByKhaznaIDAndStateAndDate(int.Parse(AccountDropID.SelectedValue),
            // 0, ToDateTxt.Text);


            int i = 0;

            foreach (var move in Khazna_Moved_List)
            {
                if (i == 0)
                {
                    if (move.EntryState == false)
                    {
                        SaveBtn.Enabled = true;
                        i++;
                    }
                    else
                    {
                        SaveBtn.Enabled = false;
                    }
                }

                EntryGrd_List.Add(new EntryGrd()
                {
                    EntryID     = (int)move.EntryID,
                    EntryState  = (bool)move.EntryState,
                    Description = move.Description,
                    ID          = move.ID,
                    Value       = float.Parse(move.Value.ToString()),
                    SubID       = int.Parse(move.AccountID.ToString()),
                });
            }


            NewEntryTxtID.Text   = maxid.ToString();
            EntryGrdV.DataSource = EntryGrd_List;
            EntryGrdV.DataBind();
        }
        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();
        }
        protected void delete_Command(object sender, CommandEventArgs e)
        {
            PurchInvDelist = new List <PurchaseInvoiceDetail>();
            string deleted_index = "";
            int    index         = Convert.ToInt32(e.CommandArgument);

            if (SearchPurchaseInvoiceList.Count > 0)
            {
                deleted_index = SearchPurchaseInvoiceList[index].Id;
            }
            else
            {
                deleted_index = PurchaseInvoiceList[index].Id;
            }

            try
            {
                var deletedItem = db.PurchaseInvoice.Where(SS => SS.Id == deleted_index).FirstOrDefault();
                // deleting inner Details
                if (deletedItem != null)
                {
                    //remove its Details
                    PurchInvDelist = db.PurchaseInvoiceDetail.Where(PID => PID.PurchaseInvoiceID == deletedItem.Id).ToList();
                    for (int i = 0; i < PurchInvDelist.Count; i++)
                    {
                        try
                        {
                            db.PurchaseInvoiceDetail.Remove(PurchInvDelist[i]);
                            db.SaveChanges();
                        }
                        catch (Exception excpt)
                        {
                            ShowMessage("Something Wrong Will Deleting inner Details");
                        }
                    }
                    //remove its Movement
                    string     descript     = "أذن استلام بضاعه لفتوره رقم" + deletedItem.Id;
                    KhznaMoved myKhznaMoved = new KhznaMoved();
                    myKhznaMoved = db.KhznaMoved.Where(khz => khz.Description == descript).FirstOrDefault();
                    try
                    {
                        db.KhznaMoved.Remove(myKhznaMoved);
                        db.SaveChanges();
                    }
                    catch (Exception excpt)
                    {
                        ShowMessage("Something Wrong Will Khazna Movement");
                    }
                }
                else
                {
                    ShowMessage("Can not Find This Item ... ");
                }
                // deleting all item
                db.PurchaseInvoice.Remove(deletedItem);
                db.SaveChanges();
                //Bind New List After Deleting
                PurchaseInvoiceList = db.PurchaseInvoice.ToList();
                BindGridList();
            }
            catch (Exception excpt)
            {
                ShowMessage("Something Wrong Will Deleting");
            }
        }
Exemplo n.º 6
0
 protected void DeleteBtn_Click(object sender, EventArgs e)
 {
     if (EditFalg == true)
     {
         if (Diar_Grd_List.Count > 0)
         {
             try
             {
                 _entry     = new Entry();
                 _entry     = db.Entry.Where(en => en.EntryID == int.Parse(EntryNoTxt.Text)).FirstOrDefault();// _entry.GetAllEntryByID(int.Parse(EntryNoTxt.Text)).ElementAtOrDefault(0);
                 Entry_List = new List <Entry>();
                 Entry_List.Add(_entry);
                 db.Entry.RemoveRange(Entry_List);
                 // _entry.Operations("Delete", Entry_List);
                 if (_entry.EntryType == "قيد حر")
                 {
                 }
                 else if (_entry.EntryType == "قيد مقبوضات")
                 {
                     KhznaMoved        Khzna_Moved     = new KhznaMoved();
                     List <KhznaMoved> KhznaMoved_List = new List <KhznaMoved>();
                     KhznaMoved_List = db.KhznaMoved.ToList().Where(o => o.state == false & o.EntryID == _entry.EntryID).ToList();
                     //  Khzna_Moved.GetAllKhznaMovedByEntryIDAndState(_entry.EntryID, 0);
                     foreach (var k in KhznaMoved_List)
                     {
                         k.EntryID    = 0;
                         k.EntryState = false;
                         k.LoginID    = ExtendedMethod.LoginedUser.Id;
                         db.KhznaMoved.AddOrUpdate(k);
                     }
                     //Khzna_Moved.Operations("Edit", KhznaMoved_List);
                 }
                 else if (_entry.EntryType == "قيد مدفوعات")
                 {
                     KhznaMoved        Khzna_Moved     = new KhznaMoved();
                     List <KhznaMoved> KhznaMoved_List = new List <KhznaMoved>();
                     KhznaMoved_List = db.KhznaMoved.ToList().Where(o => o.state == true & o.EntryID == _entry.EntryID).ToList();
                     foreach (var k in KhznaMoved_List)
                     {
                         k.EntryID    = 0;
                         k.EntryState = false;
                         k.LoginID    = ExtendedMethod.LoginedUser.Id;
                         db.KhznaMoved.AddOrUpdate(k);
                     }
                     //   Khzna_Moved.Operations("Edit", KhznaMoved_List);
                 }
                 else if (_entry.EntryType == "قيد مقبوضات شيك")
                 {
                     BankMoved        Bank_Moved     = new BankMoved();
                     List <BankMoved> BankMoved_List = new List <BankMoved>();
                     BankMoved_List = db.BankMoved.ToList().Where(o => o.state == false & o.EntryID == _entry.EntryID).ToList();
                     foreach (var k in BankMoved_List)
                     {
                         k.EntryID    = 0;
                         k.EntryState = false;
                         k.LoginID    = ExtendedMethod.LoginedUser.Id;
                         db.BankMoved.AddOrUpdate(k);
                     }
                     //  Bank_Moved.Operations("Edit", BankMoved_List);
                 }
                 else if (_entry.EntryType == "قيد مدفوعات شيك")
                 {
                     BankMoved        Bank_Moved     = new BankMoved();
                     List <BankMoved> BankMoved_List = new List <BankMoved>();
                     BankMoved_List = db.BankMoved.ToList().Where(o => o.state == true & o.EntryID == _entry.EntryID).ToList();
                     foreach (var k in BankMoved_List)
                     {
                         k.EntryID    = 0;
                         k.EntryState = false;
                         k.LoginID    = ExtendedMethod.LoginedUser.Id;
                         db.BankMoved.AddOrUpdate(k);
                     }
                     //Bank_Moved.Operations("Edit", BankMoved_List);
                 }
                 db.SaveChanges();
                 AddError.Text      = "تم المسح بنجاح ";
                 AddError.ForeColor = System.Drawing.Color.Green;
             }
             catch (Exception ex)
             {
                 AddError.Text      = "حدث خطأ لا يمكن المسح ";
                 AddError.ForeColor = System.Drawing.Color.Red;
             }
             Initialize_Page();
         }
     }
 }
        //Get Edit Item With its Details
        protected void GetEditInvoice(string Id)
        {
            myPurchaseInvoice         = new PurchaseInvoice();
            PurchaseInvoiceDetailList = new List <PurchaseInvoiceDetail>();
            //get Details List and bind it
            PurchaseInvoiceDetailList = db.PurchaseInvoiceDetail.Where(PID => PID.PurchaseInvoiceID == Id).ToList();
            BindGridList();
            //get Item and bind Its Values
            myPurchaseInvoice = db.PurchaseInvoice.Where(PI => PI.Id == Id).FirstOrDefault();

            if (myPurchaseInvoice.Id != null)
            {
                InvoiceNo.Text = myPurchaseInvoice.Id.ToString();
            }

            if (myPurchaseInvoice.InvoiceDate != null)
            {
                InvoiceDate.Text = myPurchaseInvoice.InvoiceDate.ToString();
            }

            if (myPurchaseInvoice.SubAccountId != 0)
            {
                vendorsListtxt.SelectedValue = myPurchaseInvoice.SubAccountId.ToString();
            }

            if (myPurchaseInvoice.PurchaseType == true)
            {
                Purchase.Checked  = true;
                Discarded.Checked = false;
            }
            else
            {
                Discarded.Checked = true;
                Purchase.Checked  = false;
            }
            //
            if (myPurchaseInvoice.Total != 0)
            {
                Total.Text = myPurchaseInvoice.Total.ToString();
            }
            // get its moveMent if have
            string descript = "أذن استلام بضاعه لفتوره رقم" + myPurchaseInvoice.Id;

            myKhznaMoved = new KhznaMoved();
            myKhznaMoved = db.KhznaMoved.Where(khz => khz.Description == descript).FirstOrDefault();
            if (myKhznaMoved != null)
            {
                //make check Box True
                paymentMethod.Checked = true;
                //make payment Filed and Treasury Visible
                PaymentValueId.Visible = true;
                TreasuryId.Visible     = true;
                if (TreasuryListtxt.Items.Count > 0)
                {
                    TreasuryListtxt.Items.Clear();
                }
                TreasuryListtxt.DataSource     = db.SubAccount.Where(sub => sub.UpAccount == "1103").ToList();
                TreasuryListtxt.DataValueField = "ID";
                TreasuryListtxt.DataTextField  = "name";
                TreasuryListtxt.DataBind();
                //Select treasury Which in movement
                TreasuryListtxt.SelectedValue = myKhznaMoved.TreasuryID.ToString();
                PaymentValue.Text             = myKhznaMoved.Value.ToString();
            }
            VisitedAtEdit = true;
        }
        //Save all invoice Part
        protected void MakeKhaznaMovement(PurchaseInvoice myPurInvo, string state)
        {
            string descript = "أذن استلام بضاعه لفتوره رقم" + myPurInvo.Id;

            myKhznaMoved = new KhznaMoved();
            myKhznaMoved = db.KhznaMoved.Where(khz => khz.Description == descript).FirstOrDefault();
            // h3mlo add if it add or edit
            if (myKhznaMoved == null)
            {
                myKhznaMoved = new KhznaMoved();
                var newID = db.KhznaMoved.Where(kh => kh.state == true).Select(khm => khm.ID).Max();
                myKhznaMoved.ID          = newID + 1;
                myKhznaMoved.state       = true;
                myKhznaMoved.Value       = Convert.ToDecimal(myPurInvo.PaymentValue);
                myKhznaMoved.AccountID   = Convert.ToInt64(myPurInvo.SubAccountId);
                myKhznaMoved.Description = "أذن استلام بضاعه لفتوره رقم" + myPurInvo.Id;
                myKhznaMoved.Date        = DateTime.Parse(myPurInvo.InvoiceDate.ToString(), CultureInfo.CreateSpecificCulture("ar-EG"));
                myKhznaMoved.EntryState  = false;
                myKhznaMoved.EntryID     = 0;
                myKhznaMoved.TreasuryID  = Convert.ToInt64(TreasuryListtxt.SelectedValue);
                try
                {
                    db.KhznaMoved.Add(myKhznaMoved);
                    db.SaveChanges();
                }
                catch (Exception except)
                {
                    ShowMessage("Something Wrong Will Adding Khzna Movement");
                }
            }
            else
            {
                // if there are a movement and its state add Refuse it
                if (state == "add")
                {
                    ShowMessage("there are Khzna Movement with the Same Description");
                }
                else // if there are a movement and its state Edit update it
                {
                    KhznaMoved tempKhznaMoved = new KhznaMoved();
                    tempKhznaMoved.ID          = myKhznaMoved.ID;
                    tempKhznaMoved.state       = myKhznaMoved.state;
                    tempKhznaMoved.Value       = Convert.ToDecimal(myPurInvo.PaymentValue);
                    tempKhznaMoved.AccountID   = Convert.ToInt64(myPurInvo.SubAccountId);
                    tempKhznaMoved.Description = "أذن استلام بضاعه لفتوره رقم" + myPurInvo.Id;
                    tempKhznaMoved.Date        = DateTime.Parse(myPurInvo.InvoiceDate.ToString(), CultureInfo.CreateSpecificCulture("ar-EG"));
                    tempKhznaMoved.TreasuryID  = Convert.ToInt64(TreasuryListtxt.SelectedValue);
                    //Entry Update if Its he had made it لازم تجيب القيد وتغيره اوتو ماتك تاني هنا بناء علي التعديلات الي تمت
                    tempKhznaMoved.EntryID    = 0; // hnrg3 n3del hna tany 3la al 2ed lma ydaf
                    tempKhznaMoved.EntryState = false;
                    try
                    {
                        db.KhznaMoved.AddOrUpdate(tempKhznaMoved);
                        db.SaveChanges();
                    }
                    catch (Exception except)
                    {
                        ShowMessage("Something Wrong Will Updating Khzna Movement");
                    }
                }
            }
        }
Exemplo n.º 9
0
        //مسح
        protected void DeleteMonyInBtn_Click(object sender, EventArgs e)
        {
            Khzna_Moved      = new KhznaMoved();
            Bank_Moved       = new BankMoved();
            Bank_Moved_List  = new List <BankMoved>();
            Khzna_Moved_List = new List <KhznaMoved>();
            Entry        entry      = new Entry();
            List <Entry> Entry_List = new List <Entry>();

            if (MonyTypeDrop.SelectedIndex == 0)                                                                                                        //نقدى
            {
                Khzna_Moved      = db.KhznaMoved.ToList().Where(k => k.ID == int.Parse(OperationID.Text) & k.state == false).ToList().FirstOrDefault(); // Khzna_Moved.GetKhznaMoved_ByID(int.Parse(OperationID.Text), 0).ElementAt(0);
                Khzna_Moved_List = new List <KhznaMoved>();
                Khzna_Moved_List.Add(Khzna_Moved);
                if (Khzna_Moved.EntryState == true)
                {
                    entry = db.Entry.ToList().Where(k => k.SubAccount_id == int.Parse(FromSubAccountsID.SelectedValue) &
                                                    k.RecordID == Khzna_Moved.ID & k.status == "دائن" & k.EntryID == Khzna_Moved.EntryID).ToList().FirstOrDefault();
                    //entry.GetAllEntryByRecIDAndStateAndAccountID(int.Parse(FromSubAccountsID.SelectedValue),
                    //    Khzna_Moved.ID, Khzna_Moved.EntryID, "دائن").ElementAtOrDefault(0);
                    ////Entry_List.Add(entry);

                    //لانه اذن استلام فالخزنة مدينة
                    Khzna = db.Entry.ToList().Where(b => b.status == "مدين" & b.SubAccount_id == int.Parse(ToKhaznaDrop.SelectedValue) &
                                                    b.EntryID == Khzna_Moved.EntryID & b.RecordID == Khzna_Moved.ID).ToList().FirstOrDefault();
                    //  entry.GetAllEntryByRecIDAndStateAndAccountID(int.Parse(ToKhaznaDrop.SelectedValue),
                    // Khzna_Moved.ID, Khzna_Moved.EntryID, "مدين").ElementAtOrDefault(0);

                    Khzna.value -= entry.value;//Khzna_Moved_List.Where(k => k.state == false & k.ID == entry.RecordID).ElementAtOrDefault(0).Value;
                    if (Khzna.value == 0)
                    {
                        KhznaL.Add(Khzna);
                        db.Entry.Remove(Khzna);

                        //  entry.Operations("Delete", KhznaL);
                    }
                    else
                    {
                        KhznaL.Add(Khzna);
                        Entry_List.Add(entry);
                        db.Entry.AddOrUpdate(Khzna);
                        db.Entry.Remove(entry);

                        //   entry.Operations("Edit", KhznaL);
                        //   entry.Operations("Delete", Entry_List);
                    }
                    // Khzna_Moved.Operations("Delete", Khzna_Moved_List);
                    db.KhznaMoved.RemoveRange(Khzna_Moved_List);
                    db.SaveChanges();
                    AddErrorTxt.Text = "تم المسح";
                }
                else
                {
                    db.KhznaMoved.RemoveRange(Khzna_Moved_List);
                    db.SaveChanges();
                    //  Khzna_Moved.Operations("Delete", Khzna_Moved_List);

                    Initializ_Page();

                    AddErrorTxt.Text = "تم المسح";
                }
            }
            else//شيك
            {
                Bank_Moved      = db.BankMoved.ToList().Where(b => b.ID == int.Parse(OperationID.Text) & b.state == false).ToList().FirstOrDefault();// Bank_Moved.GetBankMoving_ByID(int.Parse(OperationID.Text), 0).ElementAt(0);
                Bank_Moved_List = new List <BankMoved>();
                Bank_Moved_List.Add(Bank_Moved);

                if (Bank_Moved.EntryState == true)
                {
                    entry = db.Entry.ToList().Where(o => o.EntryID == Bank_Moved.EntryID &
                                                    o.SubAccount_id == int.Parse(Bank_Moved.AccountID.ToString()) &
                                                    o.status == "دائن" & o.RecordID == Bank_Moved.ID).ToList().FirstOrDefault();

                    //  entry = entry.GetAllEntryByRecIDAndStateAndAccountID(int.Parse(FromSubAccountsID.SelectedValue),
                    //    Bank_Moved.ID, Bank_Moved.EntryID, "دائن").ElementAtOrDefault(0);
                    //Entry_List.Add(entry);

                    //لانه اذن استلام فالخزنة مدينة
                    Bank = db.Entry.ToList().Where(o => o.EntryID == Bank_Moved.EntryID &
                                                   o.SubAccount_id == int.Parse(ToKhaznaDrop.SelectedValue) &
                                                   o.status == "مدين" & o.RecordID == Bank_Moved.ID).ToList().FirstOrDefault();

                    //  Bank = entry.GetAllEntryByRecIDAndStateAndAccountID(int.Parse(ToKhaznaDrop.SelectedValue),
                    //    Bank_Moved.ID, Bank_Moved.EntryID, "مدين").ElementAtOrDefault(0);

                    Bank.value -= entry.value;//Khzna_Moved_List.Where(k => k.state == false & k.ID == entry.RecordID).ElementAtOrDefault(0).Value;
                    if (Bank.value == 0)
                    {
                        BankL.Add(Bank);
                        db.Entry.RemoveRange(BankL);
                        //entry.Operations("Delete", BankL);
                    }
                    else
                    {
                        BankL.Add(Bank);
                        Entry_List.Add(entry);
                        db.Entry.AddOrUpdate(Bank);
                        db.Entry.RemoveRange(Entry_List);
                        // entry.Operations("Edit", BankL);
                        //  entry.Operations("Delete", Entry_List);
                    }
                    db.BankMoved.RemoveRange(Bank_Moved_List);
                    db.SaveChanges();
                    // Bank_Moved.Operations("Delete", Bank_Moved_List);
                    AddErrorTxt.Text = "تم المسح";
                }
                Initializ_Page();
            }
        }
Exemplo n.º 10
0
        void searchFn(int ID)
        {
            EditFlag = true;

            Khzna_Moved = new KhznaMoved();
            Bank_Moved  = new BankMoved();
            Sub_Account = new SubAccount();
            OldEntry    = new Entry();
            if (MonyTypeDrop.SelectedIndex == 0)                                                                      //نقدى
            {
                Khzna_Moved      = db.KhznaMoved.Where(k => k.ID == ID & k.state == false).ToList().FirstOrDefault(); //  Khzna_Moved.GetKhznaMoved_ByID(ID, 0).ElementAt(0);
                OperationID.Text = Khzna_Moved.ID.ToString();
                Value.Text       = String.Format("{0:0.00}", Khzna_Moved.Value);
                FromSubAccountsID.Items.Clear();
                FromSubAccountsID.DataBind();
                FromSubAccountsID.DataSource     = db.SubAccount.ToList().Where(s => s.ID == int.Parse(Khzna_Moved.AccountID.ToString()));//  Sub_Account.GetSubAccount_ByID(int.Parse(Khzna_Moved.AccountID.ToString()));
                FromSubAccountsID.DataValueField = "ID";
                FromSubAccountsID.DataTextField  = "name";
                FromSubAccountsID.DataBind();
                string khaznaNaname = ToKhaznaDrop.SelectedValue; //Sub_Account.GetSubAccount_ByID(int.Parse(Khzna_Moved.TreasuryID.ToString())).ElementAtOrDefault(0).name;
                ToKhaznaDrop.SelectedValue = khaznaNaname;
                DescTxt.Text      = Khzna_Moved.Description;
                ReceivedDate.Text = ExtendedMethod.ParseDateToString((DateTime)Khzna_Moved.Date);
                if (Khzna_Moved.FinancialPostitionId != 0 && Khzna_Moved.FinancialPostitionType != "")
                {
                    add_Edit_financialPosInfo((int)Khzna_Moved.FinancialPostitionId, Khzna_Moved.FinancialPostitionType);
                }
                DeleteMonyInBtn.Enabled = true;
                DeleteMonyInBtn.Enabled = true;

                OldKhznaID             = int.Parse(ToKhaznaDrop.SelectedValue);
                OldEntry.Date          = DateTime.Parse(ReceivedDate.Text, CultureInfo.CreateSpecificCulture("ar-EG"));
                OldEntry.description   = DescTxt.Text;
                OldEntry.SubAccount_id = int.Parse(FromSubAccountsID.SelectedValue);

                OldValue       = float.Parse(Value.Text);
                OldDescription = DescTxt.Text;
            }
            else//شيك
            {
                Bank_Moved = db.BankMoved.Where(b => b.ID == ID & b.state == false).ToList().FirstOrDefault();// Bank_Moved.GetBankMoving_ByID(ID, 0).ElementAt(0);
                if (Bank_Moved.FinancialPostitionId != 0 && Bank_Moved.FinancialPostitionType != "")
                {
                    add_Edit_financialPosInfo((int)Bank_Moved.FinancialPostitionId, Bank_Moved.FinancialPostitionType);
                }
                OperationID.Text = Bank_Moved.ID.ToString();
                Value.Text       = String.Format("{0:0.00}", Bank_Moved.Value);
                //FromSubAccountsID.Items.Clear();
                //FromSubAccountsID.DataBind();

                //FromSubAccountsID.Items.Add(Sub_Account.GetSubAccount_ByID(int.Parse(Bank_Moved.AccountID.ToString())).ElementAt(0).name.ToString());
                FromSubAccountsID.SelectedItem.Text = db.SubAccount.ToList().Where(s => s.ID == int.Parse(Bank_Moved.AccountID.ToString())).ToList().FirstOrDefault().name;// Sub_Account.GetSubAccount_ByID(int.Parse(Bank_Moved.AccountID.ToString())).ElementAt(0).name;
                DescTxt.Text            = Bank_Moved.Description;
                ReceivedDate.Text       = ExtendedMethod.ParseDateToString((DateTime)Khzna_Moved.Date);
                SarfDateTxt.Text        = Bank_Moved.SarfDate.ToString();
                DeleteMonyInBtn.Enabled = true;
                ChecqRow.Visible        = true;
                //BankNameRow.Visible = true;
                ToKhaznaDrop.SelectedItem.Value = Bank_Moved.DocID.ToString();
                ChequeNoTxt.Text = Bank_Moved.ChequeNo;
                //BankDropID.SelectedValue = Bank_Moved.BankName;
                DeleteMonyInBtn.Enabled = true;
                // OldDate = SarfDateTxt.Text;
                OldEntry.Date = DateTime.Parse(SarfDateTxt.Text, CultureInfo.CreateSpecificCulture("ar-EG"));
                OldCheq       = ChequeNoTxt.Text;
                //OldBankName = BankDropID.SelectedValue;
                OldBankID = int.Parse(ToKhaznaDrop.SelectedValue);
                OldEntry.SubAccount_id = int.Parse(FromSubAccountsID.SelectedItem.Value);

                OldValue       = float.Parse(Value.Text);
                OldDescription = DescTxt.Text;
            }
        }
Exemplo n.º 11
0
        public void AddMony()
        {
            ReceivedDate.Text = ReceivedDate.Text;
            Khzna_Moved       = new KhznaMoved();
            Sub_Account       = new SubAccount();


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

            if (EditFlag == false)
            {
                Khzna_Moved.ID        = int.Parse(OperationID.Text);
                Khzna_Moved.AccountID = int.Parse(FromSubAccountsID.SelectedValue);
                Khzna_Moved.Value     = decimal.Parse(Value.Text);
                //
                Khzna_Moved.Date = DateTime.Parse(ReceivedDate.Text, CultureInfo.CreateSpecificCulture("ar-EG"));///////////DateTime.Parse(ReceivedDate.Text, CultureInfo.CreateSpecificCulture("ar-EG"));
                //
                Khzna_Moved.Description = DescTxt.Text;
                Khzna_Moved.TreasuryID  = int.Parse(ToKhaznaDrop.SelectedValue);
                Khzna_Moved.state       = false;
                if (FinancialPos.Checked == true)
                {
                    Khzna_Moved.FinancialPostitionType = FinancialPosTypeList.SelectedValue;
                    Khzna_Moved.FinancialPostitionId   = int.Parse(AddRelatednumList.SelectedValue);
                }
                Khzna_Moved_List.Add(Khzna_Moved);
                db.KhznaMoved.Add(Khzna_Moved);
                db.SaveChanges();
                // Khzna_Moved.Operations("Add", Khzna_Moved_List);
                AddErrorTxt.ForeColor = System.Drawing.Color.Green;
                AddErrorTxt.Text      = "تمت الاضافة بنجاح";
            }
            else
            {
                Khzna_Moved = db.KhznaMoved.ToList().Where(k => k.ID == int.Parse(OperationID.Text) & k.state == false).ToList().FirstOrDefault();// Khzna_Moved.GetKhznaMoved_ByID(int.Parse(OperationID.Text), 0).ElementAtOrDefault(0);
                if (Khzna_Moved.EntryState == true)
                {
                    entry = db.Entry.ToList().Where(e => e.EntryID == Khzna_Moved.EntryID & e.SubAccount_id == int.Parse(FromSubAccountsID.SelectedValue) & e.status == "دائن" & e.RecordID == Khzna_Moved.ID).ToList().FirstOrDefault();
                    //    entry.GetAllEntryByRecIDAndStateAndAccountID(int.Parse(FromSubAccountsID.SelectedValue),
                    //    Khzna_Moved.ID, Khzna_Moved.EntryID, "دائن").ElementAtOrDefault(0);
                    ////Entry_List.Add(entry);

                    //لانه اذن استلام فالخزنة مدينة
                    Khzna = db.Entry.ToList().Where(e => e.EntryID == Khzna_Moved.EntryID & e.SubAccount_id == int.Parse(ToKhaznaDrop.SelectedValue) & e.status == "مدين" & e.RecordID == Khzna_Moved.ID).ToList().FirstOrDefault();


                    //entry.GetAllEntryByRecIDAndStateAndAccountID(int.Parse(ToKhaznaDrop.SelectedValue),
                    //    Khzna_Moved.ID, Khzna_Moved.EntryID, "مدين").ElementAtOrDefault(0);
                    ////فى الحالة(تغير التاريخ او الخزنة) دى هنحذفه من القيود
                    //وتغير حالة القيد فى الخزنة
                    //ونقلل اجمالى القيد
                    if (OldEntry.Date != DateTime.Parse(ReceivedDate.Text) || OldKhznaID != Khzna_Moved.TreasuryID ||
                        OldEntry.SubAccount_id != int.Parse(FromSubAccountsID.SelectedValue))
                    {
                        Khzna_Moved_List.Add(Khzna_Moved);
                        Khzna_Moved_List.Where(k => k.state == false & k.ID == entry.RecordID).ElementAtOrDefault(0).EntryState = false;
                        Khzna_Moved_List.Where(k => k.state == false & k.ID == entry.RecordID).ElementAtOrDefault(0).EntryID    = 0;

                        Khzna.value -= entry.value;//Khzna_Moved_List.Where(k => k.state == false & k.ID == entry.RecordID).ElementAtOrDefault(0).Value;
                        KhznaL.Add(Khzna);
                        Entry_List.Add(entry);
                        if (Khzna.value == 0)
                        {
                            KhznaL.Add(Khzna);
                            db.Entry.Remove(Khzna);

                            // entry.Operations("Delete", KhznaL);
                        }
                        else
                        {
                            //if (EditFlagPrev)
                            //{
                            db.Entry.AddOrUpdate(Khzna);
                            db.Entry.Remove(entry);
                            db.SaveChanges();
                            // entry.Operations("Edit", KhznaL);
                            //   entry.Operations("Delete", Entry_List);
                            //}
                        }
                    }
                    else//غير كدا (اللى هو تغير القيمة اوالبيان او الحساب الدائن)هانعمل مجرد تعديل على القيد
                    {
                        entry.value       = decimal.Parse(Value.Text);// Khzna_Moved.Value;
                        entry.description = DescTxt.Text;
                        Khzna.value      -= decimal.Parse(OldValue.ToString());
                        Khzna.value      += entry.value;
                        //   Khzna.value += Khzna_Moved_List.Where(k => k.state == false & k.ID == entry.RecordID).ElementAtOrDefault(0).Value;
                        Entry_List.Add(Khzna);
                        Entry_List.Add(entry);
                        //if (EditFlagPrev)
                        entry.LoginID = ExtendedMethod.LoginedUser.Id;
                        db.Entry.AddOrUpdate(entry);
                        db.SaveChanges();
                        //     entry.Operations("Edit", Entry_List);
                    }
                }
                Khzna_Moved.ID          = int.Parse(OperationID.Text);
                Khzna_Moved.AccountID   = int.Parse(FromSubAccountsID.SelectedValue);
                Khzna_Moved.Value       = decimal.Parse(Value.Text);
                Khzna_Moved.Date        = DateTime.Parse(ReceivedDate.Text, CultureInfo.CreateSpecificCulture("ar-EG"));///////////
                Khzna_Moved.Description = DescTxt.Text;
                Khzna_Moved.TreasuryID  = int.Parse(ToKhaznaDrop.SelectedValue);
                if (FinancialPos.Checked == true)
                {
                    Khzna_Moved.FinancialPostitionType = FinancialPosTypeList.SelectedValue;
                    Khzna_Moved.FinancialPostitionId   = int.Parse(AddRelatednumList.SelectedValue);
                }

                Khzna_Moved.LoginID = ExtendedMethod.LoginedUser.Id;
                db.KhznaMoved.AddOrUpdate(Khzna_Moved);
                Khzna_Moved_List.Add(Khzna_Moved);
                db.SaveChanges();
                //if (EditFlagPrev)
                //{
                //    Khzna_Moved.Operations("Edit", Khzna_Moved_List);
                AddErrorTxt.ForeColor = System.Drawing.Color.Green;
                AddErrorTxt.Text      = "تمت التعديل بنجاح";
                //}
            }
        }
Exemplo n.º 12
0
        public void AddMony()
        {
            // الي ليه استات ترو في الجدول بتاع ال خزنه هو الاستلام الصرف بياخد فلس
            ReceivedDate.Text = ReformateDateFromPicker(ReceivedDate.Text);

            Khzna_Moved = new KhznaMoved();
            Sub_Account = new SubAccount();

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

            if (EditFlag == false)
            {
                var response = "";
                Khzna_Moved.state       = true;
                Khzna_Moved.ID          = int.Parse(OperationID.Text);
                Khzna_Moved.Value       = decimal.Parse(Value.Text);
                Khzna_Moved.AccountID   = int.Parse(FromSubAccountsID.SelectedValue);
                Khzna_Moved.TreasuryID  = int.Parse(FromKhaznaDrop.SelectedValue);
                Khzna_Moved.Description = DescTxt.Text;
                Khzna_Moved.Date        = DateTime.Parse(ReceivedDate.Text, CultureInfo.CreateSpecificCulture("ar-EG")); ///////////
                if (FinancialPos.Checked == true)
                {
                    Khzna_Moved.FinancialPostitionType = "سيارة";
                    Khzna_Moved.FinancialPostitionId   = int.Parse(CarsListTxt.SelectedValue);
                    response = AddSolarObject(Khzna_Moved.ID);
                    if (!String.IsNullOrEmpty(response))
                    {
                        try
                        {
                            Khzna_Moved_List.Add(Khzna_Moved);
                            db.KhznaMoved.Add(Khzna_Moved);
                            db.SaveChanges();
                            AddErrorTxt.ForeColor = System.Drawing.Color.Green;
                            AddErrorTxt.Text      = "تمت الاضافة بنجاح";
                        }
                        catch (Exception e)
                        {
                            AddErrorTxt.ForeColor = System.Drawing.Color.Red;
                            AddErrorTxt.Text      = "حدث خطاء اثناء الاضافة لحركة الخزنه";
                        }
                    }
                    else
                    {
                        AddErrorTxt.ForeColor = System.Drawing.Color.Red;
                        AddErrorTxt.Text      = "Something Wrong will Adding Solar";
                    }
                }
            }
            else
            {
                Khzna_Moved = db.KhznaMoved.ToList().Where(k => k.ID == int.Parse(OperationID.Text) & k.state == true).FirstOrDefault();// Khzna_Moved.GetKhznaMoved_ByID(int.Parse(OperationID.Text), 1).ElementAtOrDefault(0);
                // هنا بيجدد القيود  او بيعدلها
                if (Khzna_Moved.EntryState == true)
                {
                    entry = db.Entry.ToList().Where(e => e.EntryID == Khzna_Moved.EntryID & e.SubAccount_id == int.Parse(FromSubAccountsID.SelectedValue) & e.status == "مدين" & e.RecordID == Khzna_Moved.ID).FirstOrDefault();

                    //    entry = entry.GetAllEntryByRecIDAndStateAndAccountID(int.Parse(FromSubAccountsID.SelectedValue),
                    //      Khzna_Moved.ID, Khzna_Moved.EntryID, "مدين").ElementAtOrDefault(0);
                    //Entry_List.Add(entry);

                    //لانه اذن استلام فالخزنة مدينة
                    Khzna = db.Entry.ToList().Where(e => e.EntryID == Khzna_Moved.EntryID & e.SubAccount_id == int.Parse(FromKhaznaDrop.SelectedValue) & e.status == "دائن" & e.RecordID == Khzna_Moved.ID).FirstOrDefault();

                    // Khzna = entry.GetAllEntryByRecIDAndStateAndAccountID(int.Parse(FromKhaznaDrop.SelectedValue),
                    //   Khzna_Moved.ID, Khzna_Moved.EntryID, "دائن").ElementAtOrDefault(0);
                    //فى الحالة(تغير التاريخ او الخزنة) دى هنحذفه من القيود
                    //وتغير حالة القيد فى الخزنة
                    //ونقلل اجمالى القيد
                    if (OldEntry.Date != DateTime.Parse(ReceivedDate.Text) || OldKhznaID != Khzna_Moved.TreasuryID ||
                        OldEntry.SubAccount_id != int.Parse(FromSubAccountsID.SelectedValue))
                    {
                        Khzna_Moved_List.Add(Khzna_Moved);
                        Khzna_Moved_List.Where(k => k.state == true & k.ID == entry.RecordID).ElementAtOrDefault(0).EntryState = false;
                        Khzna_Moved_List.Where(k => k.state == true & k.ID == entry.RecordID).ElementAtOrDefault(0).EntryID    = 0;

                        Khzna.value -= entry.value;//Khzna_Moved_List.Where(k => k.state == false & k.ID == entry.RecordID).ElementAtOrDefault(0).Value;
                        KhznaL.Add(Khzna);
                        Entry_List.Add(entry);
                        if (Khzna.value == 0)
                        {
                            KhznaL.Add(Khzna);
                            db.Entry.Remove(Khzna);
                        }
                        else
                        {
                            //if (EditFlagPrev)
                            //{
                            db.Entry.AddOrUpdate(Khzna);
                            db.Entry.Remove(entry);
                            db.SaveChanges();
                            //}
                        }
                    }
                    else//غير كدا (اللى هو تغير القيمة اوالبيان او الحساب الدائن)هانعمل مجرد تعديل على القيد
                    {
                        entry.value       = decimal.Parse(Value.Text);// Khzna_Moved.Value;
                        entry.description = DescTxt.Text;
                        Khzna.value      -= decimal.Parse(OldValue.ToString());
                        Khzna.value      += entry.value;
                        //   Khzna.value += Khzna_Moved_List.Where(k => k.state == false & k.ID == entry.RecordID).ElementAtOrDefault(0).Value;
                        Entry_List.Add(Khzna);

                        Entry_List.Add(entry);
                        //if (EditFlagPrev)
                        entry.LoginID = ExtendedMethod.LoginedUser.Id;
                        db.Entry.AddOrUpdate(entry);
                        db.SaveChanges();
                    }
                }
                // هنا بيتعمل مع الحركه بتاعت الخزنه والسولر
                Khzna_Moved.ID          = int.Parse(OperationID.Text);
                Khzna_Moved.AccountID   = int.Parse(FromSubAccountsID.SelectedValue);
                Khzna_Moved.Value       = decimal.Parse(Value.Text);
                Khzna_Moved.Date        = DateTime.Parse(ReceivedDate.Text, CultureInfo.CreateSpecificCulture("ar-EG"));///////////
                Khzna_Moved.Description = DescTxt.Text;
                Khzna_Moved.TreasuryID  = int.Parse(FromKhaznaDrop.SelectedValue);
                var response = "";
                if (FinancialPos.Checked == true)
                {
                    Khzna_Moved.FinancialPostitionType = "سيارة";
                    Khzna_Moved.FinancialPostitionId   = int.Parse(CarsListTxt.SelectedValue);
                    response = AddSolarObject(Khzna_Moved.ID);
                }
                if (!String.IsNullOrEmpty(response))
                {
                    try
                    {
                        Khzna_Moved.LoginID = ExtendedMethod.LoginedUser.Id;
                        db.KhznaMoved.AddOrUpdate(Khzna_Moved);
                        Khzna_Moved_List.Add(Khzna_Moved);
                        db.SaveChanges();
                        AddErrorTxt.ForeColor = System.Drawing.Color.Green;
                        AddErrorTxt.Text      = "تمت التعديل بنجاح";
                    }
                    catch (Exception e)
                    {
                        AddErrorTxt.ForeColor = System.Drawing.Color.Red;
                        AddErrorTxt.Text      = "حدث خطاء اثناء تعديل لحركة الخزنه";
                    }
                }
                else
                {
                    AddErrorTxt.ForeColor = System.Drawing.Color.Red;
                    AddErrorTxt.Text      = "Something Wrong will Editing Solar";
                }
                //Khzna_Moved_List.Add(Khzna_Moved);
                //if (EditFlagPrev)
                //{

                //}
            }
        }
Exemplo n.º 13
0
        public void Initializ_Page()
        {
            // بخفي ال شيك بومكس بتاع مركز التكلفه خالص في الشيك
            FinancialPos_td.Visible = true;
            SolarRowID.Visible      = true;
            //
            ReceivedDate.Text = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
            //
            CarsList = db.Cars.ToList();
            CarsListTxt.DataSource     = CarsList;
            CarsListTxt.DataValueField = "Id";
            CarsListTxt.DataTextField  = "CarNo";
            CarsListTxt.DataBind();
            //
            DriverList = db.Driver.ToList();
            DriverListTxt.DataSource     = DriverList;
            DriverListTxt.DataValueField = "Id";
            DriverListTxt.DataTextField  = "Name";
            DriverListTxt.DataBind();

            //financial Position initial
            FinancialPos.Checked = false;
            ClearSolarDiv();
            Khzna_Moved = new KhznaMoved();
            Sub_Account = new SubAccount();
            MonyTypeDrop.SelectedIndex = 0;
            //رقم الاذن
            int MoveID = db.KhznaMoved.ToList().Where(o => o.state == true).Max(k => k.ID) + 1;// Khzna_Moved.maxid(0);

            //OperationID.Enabled = false;
            OperationID.Text = MoveID.ToString();
            //القيمة
            Value.Text = "";
            //من
            FromSubAccountsID.DataSource     = db.SubAccount.ToList().Where(o => o.MainAccount_id != 1103).ToList();// Sub_Account.GetAllSubNotKhazna();//.Select(c=>c.name);
            FromSubAccountsID.DataValueField = "ID";
            FromSubAccountsID.DataTextField  = "name";
            FromSubAccountsID.DataBind();
            //الى
            FromKhaznaRow.Visible         = true;
            FromKhaznaDrop.DataSource     = db.SubAccount.ToList().Where(o => o.MainAccount_id == 1103).ToList();//Sub_Account.GetSubAccount_ByUpID(1103);
            FromKhaznaDrop.DataValueField = "ID";
            FromKhaznaDrop.DataTextField  = "name";
            FromKhaznaDrop.DataBind();
            //الملاحظات
            DescTxt.Text = "";
            //التاريخ
            ReceivedDate.Text = ""; /*DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;*/
            ChecqRow.Visible  = false;
            // BankNameRow.Visible = false;
            SarfDateTxt.Text    = DateTime.Now.Year + "-" + DateTime.Now.Month + "-" + DateTime.Now.Day;
            SarfDateRow.Visible = false;

            Khzna_Moved_List_static = db.KhznaMoved.ToList().Where(k => k.state == true).ToList();// Khzna_Moved.GetKhznaMovedBystate(0);
            if (Khzna_Moved_List_static.Count > 0)
            {
                MonyInSearchBtn.Enabled         = true;
                MonyInsForSerachDrop.DataSource = Khzna_Moved_List_static.Select(KM => KM.ID);
                MonyInsForSerachDrop.DataBind();
            }
            else
            {
                MonyInSearchBtn.Enabled = false;
            }
            DeleteMonyInBtn.Enabled      = false;
            ChequeNoTxt.Text             = "";
            FromKhaznaDrop.SelectedIndex = 0;
            EditFlag = false;
            //CheckForPrivilage();
        }
        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;
        }