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(); } } }
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); } }
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; }
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(); }
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(); }
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(); }
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; }