public TransferForm(DataAccess.PurchaseInvoice purchaseInvoice, DataAccess.RedaV1Entities db) { InitializeComponent(); this.db = db; this.purchaseInvoice = purchaseInvoice; this.bindingSource1.DataSource = this.purchaseInvoice; var list = db.vw_PurchaseDetails.Where(s => s.PurchaseInvoiceID == purchaseInvoice.ID && s.BranchID == purchaseInvoice.BranchID).ToList(); DT = new DataAccess.DamegeDS.DamegeDTDataTable(); foreach (var item in list) { var newRow = DT.NewDamegeDTRow(); newRow.BranchID = item.BranchID.ToString(); newRow.CurrentQuanity = item.CurrentQuanity.ToString(); newRow.ID = item.ID.ToString(); newRow.ItemID = item.ItemID.ToString(); newRow.Name = item.Name.ToString(); newRow.PurchaseInvoiceDetailID = item.PurchaseInvoiceDetailID.ToString(); newRow.PurchaseInvoiceID = item.PurchaseInvoiceID.ToString(); newRow.PurchasePrice = item.PurchasePrice.ToString(); newRow.Quantity = item.Quantity.ToString(); newRow.ReceiveQuantity = item.ReceiveQuantity.ToString(); newRow.Reda1 = (Math.Round(Convert.ToDecimal(item.Quantity) / 3)).ToString(); newRow.Reda2 = (Math.Round(Convert.ToDecimal(item.Quantity) / 3)).ToString(); //newRow.Reda3 = (Convert.ToDecimal(item.Quantity) - Math.Round(Convert.ToDecimal(item.Quantity) / 3)).ToString(); newRow.Reda3 = Math.Floor(Convert.ToDecimal(item.Quantity) / 3).ToString(); DT.AddDamegeDTRow(newRow); } this.vwPurchaseDetailsBindingSource.DataSource = DT; }
private void btnTransfer_Click(object sender, EventArgs e) { try { if (hasError) { MessageBox.Show("لا يمكن تحويل الأصناف الا بعد معالجة الأخطاء الموجدة"); return; } //Validate gird //for (int i = 0; i < gridView1.RowCount; i++) //{ // int rowHandle = gridView1.GetVisibleRowHandle(i); // if (gridView1.IsDataRow(rowHandle)) // { // gridView1.FocusedRowHandle = rowHandle; // hasError = gridView1.HasColumnErrors; // } //} if (MessageBox.Show("هل أنت متأكد من إجراء العملية؟", "سيتم تحويل الكميات بالفاتورة", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes) { StringBuilder pushMSG1 = new StringBuilder(); StringBuilder pushMSG2 = new StringBuilder(); StringBuilder pushMSG3 = new StringBuilder(); SaleInvoice invoice1, invoice2, invoice3; invoice1 = new SaleInvoice(); invoice1.BranchID = 0;//المخزن invoice1.Date = DateTime.Now; invoice1.Discount = 0; invoice1.Flag = 0; invoice1.Remarks = "Transfer"; invoice1.Total = 0; invoice1.UserID = Convert.ToInt32(UserData.Default.UserID); db.SaleInvoices.Add(invoice1); invoice2 = new SaleInvoice(); invoice2.BranchID = 0;//المخزن invoice2.Date = DateTime.Now; invoice2.Discount = 0; invoice2.Flag = 0; invoice2.Remarks = "Transfer"; invoice2.Total = 0; invoice2.UserID = Convert.ToInt32(UserData.Default.UserID); db.SaleInvoices.Add(invoice2); invoice3 = new SaleInvoice(); invoice3.BranchID = 0;//المخزن invoice3.Date = DateTime.Now; invoice3.Discount = 0; invoice3.Flag = 0; invoice3.Remarks = "Transfer"; invoice3.Total = 0; invoice3.UserID = Convert.ToInt32(UserData.Default.UserID); db.SaleInvoices.Add(invoice3); SaleInvoiceDetail detail1; SaleInvoiceDetail detail2; SaleInvoiceDetail detail3; // PurchaseInvoice purchaseInvoice1 = new PurchaseInvoice(); DataAccess.PurchaseInvoice purchaseInvoice1 = db.PurchaseInvoices.Create(); purchaseInvoice1.BranchID = 1; purchaseInvoice1.Date = DateTime.Now; purchaseInvoice1.Discount = 0; purchaseInvoice1.Flag = 0; purchaseInvoice1.Number = "Transfer Reda1" + purchaseInvoice.ID; purchaseInvoice1.Total = 0; purchaseInvoice1.UserID = Convert.ToInt32(UserData.Default.UserID); db.PurchaseInvoices.Add(purchaseInvoice1); //PurchaseInvoice purchaseInvoice2 = new PurchaseInvoice(); DataAccess.PurchaseInvoice purchaseInvoice2 = db.PurchaseInvoices.Create(); purchaseInvoice2.BranchID = 2; purchaseInvoice2.Date = DateTime.Now; purchaseInvoice2.Discount = 0; purchaseInvoice2.Flag = 0; purchaseInvoice2.Number = "Transfer Reda2" + purchaseInvoice.ID; purchaseInvoice2.Total = 0; purchaseInvoice2.UserID = Convert.ToInt32(UserData.Default.UserID); db.PurchaseInvoices.Add(purchaseInvoice2); DataAccess.PurchaseInvoice purchaseInvoice3 = db.PurchaseInvoices.Create(); purchaseInvoice3.BranchID = 3; purchaseInvoice3.Date = DateTime.Now; purchaseInvoice3.Discount = 0; purchaseInvoice3.Flag = 0; purchaseInvoice3.Number = "Transfer Reda2" + purchaseInvoice.ID; purchaseInvoice3.Total = 0; purchaseInvoice3.UserID = Convert.ToInt32(UserData.Default.UserID); db.PurchaseInvoices.Add(purchaseInvoice3); PurchaseInvoiceDetail purchaseInvoiceDetail1; PurchaseInvoiceDetail purchaseInvoiceDetail2; PurchaseInvoiceDetail purchaseInvoiceDetail3; foreach (var row in DT.Rows) { detail1 = new SaleInvoiceDetail(); detail2 = new SaleInvoiceDetail(); detail3 = new SaleInvoiceDetail(); DataAccess.DamegeDS.DamegeDTRow currentRow = (DataAccess.DamegeDS.DamegeDTRow)row; detail1.InventoryID = Convert.ToInt32(currentRow.ID); detail1.ItemID = Convert.ToInt32(currentRow.ItemID); detail1.PurchaseQuantity = Convert.ToInt32(currentRow.Quantity); detail1.Quanitity = Convert.ToInt32(currentRow.Reda1); detail1.Remarks = "Transfer from purchase invoice id: " + purchaseInvoice.ID; detail1.SaleInvoiceID = invoice1.ID; detail1.UnitPrice = Convert.ToDecimal(currentRow.PurchasePrice); pushMSG1.Append(currentRow.Name + " " + currentRow.Reda1).Append(Environment.NewLine); invoice1.SaleInvoiceDetails.Add(detail1); detail2.InventoryID = Convert.ToInt32(currentRow.ID); detail2.ItemID = Convert.ToInt32(currentRow.ItemID); detail2.PurchaseQuantity = Convert.ToInt32(currentRow.Quantity); detail2.Quanitity = Convert.ToInt32(currentRow.Reda2); detail2.Remarks = "Transfer from purchase invoice id: " + purchaseInvoice.ID; detail2.SaleInvoiceID = invoice1.ID; detail2.UnitPrice = Convert.ToDecimal(currentRow.PurchasePrice); pushMSG2.Append(currentRow.Name + " " + currentRow.Reda2).Append(Environment.NewLine); invoice2.SaleInvoiceDetails.Add(detail2); detail3.InventoryID = Convert.ToInt32(currentRow.ID); detail3.ItemID = Convert.ToInt32(currentRow.ItemID); detail3.PurchaseQuantity = Convert.ToInt32(currentRow.Quantity); detail3.Quanitity = Convert.ToInt32(currentRow.Reda3); detail3.Remarks = "Transfer from purchase invoice id: " + purchaseInvoice.ID; detail3.SaleInvoiceID = invoice1.ID; detail3.UnitPrice = Convert.ToDecimal(currentRow.PurchasePrice); pushMSG3.Append(currentRow.Name + " " + currentRow.Reda2).Append(Environment.NewLine); invoice3.SaleInvoiceDetails.Add(detail3); //Purchase details 1 purchaseInvoiceDetail1 = db.PurchaseInvoiceDetails.Create(); //new PurchaseInvoiceDetail(); purchaseInvoiceDetail1.DiscountPrice = 0; purchaseInvoiceDetail1.ItemID = Convert.ToInt32(currentRow.ItemID); //purchaseInvoiceDetail1.PurchaseInvoiceID = purchaseInvoice1.ID; purchaseInvoiceDetail1.PurchasePrice = Convert.ToDecimal(currentRow.PurchasePrice); purchaseInvoiceDetail1.Quantity = Convert.ToInt32(currentRow.Reda1); purchaseInvoiceDetail1.Remarks = "Transfer from purchase invoice id: " + purchaseInvoice.ID; purchaseInvoiceDetail1.SalePrice = 0; purchaseInvoice1.PurchaseInvoiceDetails.Add(purchaseInvoiceDetail1); //Purchase details 2 purchaseInvoiceDetail2 = db.PurchaseInvoiceDetails.Create(); //new PurchaseInvoiceDetail(); purchaseInvoiceDetail2.DiscountPrice = 0; purchaseInvoiceDetail2.ItemID = Convert.ToInt32(currentRow.ItemID); //purchaseInvoiceDetail2.PurchaseInvoiceID = purchaseInvoice1.ID; purchaseInvoiceDetail2.PurchasePrice = Convert.ToDecimal(currentRow.PurchasePrice); purchaseInvoiceDetail2.Quantity = Convert.ToInt32(currentRow.Reda2); purchaseInvoiceDetail2.Remarks = "Transfer from purchase invoice id: " + purchaseInvoice.ID; purchaseInvoiceDetail2.SalePrice = 0; purchaseInvoice2.PurchaseInvoiceDetails.Add(purchaseInvoiceDetail2); //Purchase details 3 purchaseInvoiceDetail3 = db.PurchaseInvoiceDetails.Create(); //new PurchaseInvoiceDetail(); purchaseInvoiceDetail3.DiscountPrice = 0; purchaseInvoiceDetail3.ItemID = Convert.ToInt32(currentRow.ItemID); //purchaseInvoiceDetail2.PurchaseInvoiceID = purchaseInvoice1.ID; purchaseInvoiceDetail3.PurchasePrice = Convert.ToDecimal(currentRow.PurchasePrice); purchaseInvoiceDetail3.Quantity = Convert.ToInt32(currentRow.Reda3); purchaseInvoiceDetail3.Remarks = "Transfer from purchase invoice id: " + purchaseInvoice.ID; purchaseInvoiceDetail3.SalePrice = 0; purchaseInvoice3.PurchaseInvoiceDetails.Add(purchaseInvoiceDetail3); } if (db.SaveChanges() > 0) { invoice1.Flag = 1; invoice2.Flag = 1; invoice3.Flag = 1; purchaseInvoice1.Flag = 1; purchaseInvoice2.Flag = 1; purchaseInvoice3.Flag = 1; if (db.SaveChanges() > 0) { PushMessage.SendTransferItems("رضا1" + Environment.NewLine + pushMSG1.ToString()); Thread.Sleep(3000); PushMessage.SendTransferItems("رضا2" + Environment.NewLine + pushMSG2.ToString()); Thread.Sleep(3000); PushMessage.SendTransferItems("رضا3" + Environment.NewLine + pushMSG3.ToString()); MessageBox.Show("تم التحويل بنجاح"); } this.Close(); } else { MessageBox.Show("لم يتم التحويل"); } } } catch (Exception ex) { ModuleClass.ShowExceptionMessage(this, ex, "خطأ", null); } }