private void DeleteData() { try { ADAM.DataBase.ADAMConnectionString Mdb = new DataBase.ADAMConnectionString(); ADAM.DataBase.SupplyOrderHeader dr = Mdb.SupplyOrderHeaders.Single(a => a.SupplyOrderNo == long.Parse(txtSupplyOrderNo.Text)); var SupplyOrderDetailsRows = from a in Mdb.SupplyOrderDetails where a.SupplyOrderHeaderId == dr.Id select a; foreach (ADAM.DataBase.SupplyOrderDetail ddr in SupplyOrderDetailsRows) { ADAM.DataBase.PurchaseOredrDetail pdr = Mdb.PurchaseOredrDetails.Single(a => a.Id == ddr.PurchaseOrderDetailsId); if (pdr.IsChecked != 5) { Response.Write("<script>alert('لا يمكن الحذف الان لانه اصبح في مرحلة غير امر التوريد')</script>"); return; } } foreach (ADAM.DataBase.SupplyOrderDetail ddr in SupplyOrderDetailsRows) { Mdb.SupplyOrderDetails.Remove(ddr); ADAM.DataBase.PurchaseOredrDetail pdr = Mdb.PurchaseOredrDetails.Single(a => a.Id == ddr.PurchaseOrderDetailsId); pdr.IsChecked = 0; Mdb.SaveChanges(); } Mdb.SupplyOrderHeaders.Remove(dr); Mdb.SaveChanges(); txtDate.Text = txtSupplierCode.Text = txtSupplyOrderNo.Text = ""; ddlSupplier.SelectedValue = "0"; Response.Write("<script>alert('تمت عملية الحذف نجاح')</script>"); } catch { Response.Write("<script>alert('خطأ أثناء الحذف من فضلك تأكد من ادخال البيانات بشكل صحيح او من الاتصال بقاعدة البيانات')</script>"); } }
protected void gvPurchaseDetailsData_SelectedIndexChanged(object sender, EventArgs e) { ADAM.DataBase.ADAMConnectionString Mdb = new DataBase.ADAMConnectionString(); ADAM.DataBase.PurchaseOredrDetail PurchaseDetailsdr = Mdb.PurchaseOredrDetails.Single(a => a.Id == long.Parse(gvPurchaseDetailsData.SelectedDataKey.Value.ToString())); hfPurchaseDetailsId.Value = PurchaseDetailsdr.Id.ToString(); GetItemDatabyID(PurchaseDetailsdr.ItemId); ddlItemColor.SelectedValue = PurchaseDetailsdr.ItemColorId.ToString(); txtQty.Text = PurchaseDetailsdr.Qty.ToString(); txtPurchaseNote.Text = PurchaseDetailsdr.Note; }
protected void btnEditOrderItem_Click(object sender, ImageClickEventArgs e) { try { if (Session["UserID"] == null) { Response.Redirect("~/BasicData/webLogIn.aspx"); } int userid = int.Parse(Session["UserID"].ToString()); int operationid = 2; csGetPermission Per = new csGetPermission(); if (!Per.getPermission(userid, pageid, operationid)) { Response.Redirect("~/BasicData/webHomePage.aspx"); } ADAM.DataBase.ADAMConnectionString mdb = new DataBase.ADAMConnectionString(); ADAM.DataBase.RefluxDetailsData ddr = mdb.RefluxDetailsDatas.Single(a => a.Id == long.Parse(RefluxDetailsId.Value)); if (ddr.RefluxHeaderData.OrderType == 1) { ADAM.DataBase.PurchaseOredrDetail purchasedr = mdb.PurchaseOredrDetails.Single(a => a.Id == ddr.ExchangeOrPurchaseDetailsId); if (decimal.Parse(txtQty.Text) > purchasedr.ConformQty) { Response.Write("<script>alert('لا يمكن ان تكون الكمية المرتجعة اكبر من الكمية الموجوده في طلب الشراء')</script>"); return; } } if (ddr.RefluxHeaderData.OrderType == 2) { ADAM.DataBase.ExchangeRequestDetailsData detailsdr = mdb.ExchangeRequestDetailsDatas.Single(a => a.Id == ddr.ExchangeOrPurchaseDetailsId); if (decimal.Parse(txtQty.Text) > detailsdr.Qty) { Response.Write("<script>alert('لا يمكن ان تكون الكمية المرتجعة اكبر من الكمية الموجوده في طلب الصرف')</script>"); return; } if (decimal.Parse(txtFreeQty.Text) > detailsdr.FreeQty) { Response.Write("<script>alert('لا يمكن ان تكون الكمية المجانية المرتجعة اكبر من الكمية الموجوده في طلب الصرف')</script>"); return; } } ddr.RefluxQty = decimal.Parse(txtQty.Text); ddr.RefluxFreeQty = decimal.Parse(txtFreeQty.Text); mdb.SaveChanges(); gvReflux.DataBind(); } catch { } }
private void ConformPurchaseOrder() { try { ADAM.DataBase.ADAMConnectionString mdb = new DataBase.ADAMConnectionString(); for (int Row = 0; Row < gvPurchaseData.Rows.Count; Row++) { TextBox txtConformQty = gvPurchaseData.Rows[Row].FindControl("txtConformQty") as TextBox; DropDownList ddlConformtype = gvPurchaseData.Rows[Row].FindControl("ddlConformtype") as DropDownList; if (ddlConformtype.SelectedValue == "4") { if (string.IsNullOrEmpty(txtConformQty.Text) || decimal.Parse(txtConformQty.Text) != 0) { Response.Write("<script>alert('يجب ان تكون كمية الاعتماد تساوي صفر في حالة الرفض')</script>"); return; } } if (!string.IsNullOrEmpty("txtConformQty") && txtConformQty.Text != "" && ddlConformtype.SelectedValue != "0") { decimal Qty = decimal.Parse(gvPurchaseData.Rows[Row].Cells[7].Text); long Id = long.Parse(gvPurchaseData.DataKeys[Row].Value.ToString()); ADAM.DataBase.PurchaseOredrDetail dr = mdb.PurchaseOredrDetails.Single(a => a.Id == Id); if (ddlConformtype.SelectedValue == "2") { if (decimal.Parse(txtConformQty.Text) != Qty) { Response.Write("<script>alert('يجب ان تكون كمية الاعتماد مساوية لكمية طلب الشراء في حالة الاعتماد الكلي')</script>"); return; } } if (ddlConformtype.SelectedValue == "3") { if (decimal.Parse(txtConformQty.Text) >= Qty) { Response.Write("<script>alert('يجب ان تكون كمية الاعتماد اقل من كمية طلب الشراء في حالة الاعتماد الجزئي')</script>"); return; } } dr.Status = int.Parse(ddlConformtype.SelectedValue); dr.ConformQty = decimal.Parse(txtConformQty.Text); } } mdb.SaveChanges(); Response.Write("<script>alert('تمت عملية الاعتماد بنجاح')</script>"); } catch { Response.Write("<script>alert('خطأ أثناء عملية الاعتماد')</script>"); } }
private void SaveData() { try { ADAM.DataBase.ADAMConnectionString Mdb = new DataBase.ADAMConnectionString(); ADAM.DataBase.SupplyOrderHeader dr = new DataBase.SupplyOrderHeader(); dr.RecDate = DateTime.Now; dr.SupplierId = long.Parse(ddlSupplier.SelectedValue); dr.SupplyOrderDate = DateTime.Parse(txtDate.Text); dr.SupplyOrderNo = long.Parse(txtSupplyOrderNo.Text); dr.Posted = 0; dr.CostCenter = long.Parse(ddlHeaderCostCenter.SelectedValue); Mdb.SupplyOrderHeaders.Add(dr); Mdb.SaveChanges(); for (int Row = 0; Row < gvSupplyOrder.Rows.Count; Row++) { CheckBox chkChoose = gvSupplyOrder.Rows[Row].FindControl("chkChoose") as CheckBox; if (chkChoose.Checked) { TextBox txtNote = gvSupplyOrder.Rows[Row].FindControl("txtNote") as TextBox; TextBox txtItemPrice = gvSupplyOrder.Rows[Row].FindControl("txtItemPrice") as TextBox; if (string.IsNullOrEmpty(txtNote.Text)) { txtNote.Text = "لا يوجد"; } ADAM.DataBase.SupplyOrderDetail ddr = new DataBase.SupplyOrderDetail(); if (string.IsNullOrEmpty(txtItemPrice.Text)) { ddr.ItemPrice = 0; } else { ddr.ItemPrice = decimal.Parse(txtItemPrice.Text); } ddr.Note = txtNote.Text; ADAM.DataBase.PurchaseOredrDetail Pdr = Mdb.PurchaseOredrDetails.Single(a => a.Id == long.Parse(gvSupplyOrder.DataKeys[Row].Value.ToString())); ddr.PurchaseOrderDetailsId = Pdr.Id; Pdr.IsChecked = 5; ddr.SupplyOrderHeaderId = dr.Id; Mdb.SupplyOrderDetails.Add(ddr); } } Mdb.SaveChanges(); Response.Redirect("~/PurchaseData/webSupplyOrderData.aspx"); } catch { Response.Write("<script>alert('خطأ أثناء الحفظ من فضلك تأكد من ادخال البيانات بشكل صحيح او الاتصال بقاعدة البيانات')</script>"); } }
protected void btnEditPurchaseItem_Click(object sender, ImageClickEventArgs e) { ADAM.DataBase.ADAMConnectionString Mdb = new DataBase.ADAMConnectionString(); ADAM.DataBase.PurchaseOredrDetail PurcahseOrderdetaildr = Mdb.PurchaseOredrDetails.Single(a => a.Id == long.Parse(hfPurchaseDetailsId.Value)); if (PurcahseOrderdetaildr.Status > 1) { Response.Write("<script>alert('لا يمكن تعديل هذا الصنف حيث انه لم يعُد جديد')</script>"); return; } else { PurcahseOrderdetaildr.ItemColorId = int.Parse(ddlItemColor.SelectedValue); PurcahseOrderdetaildr.ItemId = long.Parse(ddlItemName.SelectedValue); PurcahseOrderdetaildr.Note = txtPurchaseNote.Text; PurcahseOrderdetaildr.Qty = decimal.Parse(txtQty.Text); Mdb.SaveChanges(); gvPurchaseDetailsData.DataBind(); } }
protected void gvSupplyOrder_SelectedIndexChanged(object sender, EventArgs e) { try { ADAM.DataBase.ADAMConnectionString Mdb = new DataBase.ADAMConnectionString(); long SupplyOrderDetailsId = long.Parse(gvSupplyOrder.SelectedDataKey.Value.ToString()); ADAM.DataBase.SupplyOrderDetail dr = Mdb.SupplyOrderDetails.Single(a => a.Id == SupplyOrderDetailsId); ADAM.DataBase.PurchaseOredrDetail pdr = Mdb.PurchaseOredrDetails.Single(a => a.Id == dr.PurchaseOrderDetailsId); if (pdr.IsChecked != 5) { Response.Write("<script>alert('لا يمكن الحذف الان لانه اصبح في مرحلة غير امر التوريد')</script>"); return; } Mdb.SupplyOrderDetails.Remove(dr); pdr.IsChecked = 0; Mdb.SaveChanges(); gvSupplyOrder.DataBind(); } catch { } }
protected void btndeletePurchaseItem_Click(object sender, ImageClickEventArgs e) { ADAM.DataBase.ADAMConnectionString Mdb = new DataBase.ADAMConnectionString(); ADAM.DataBase.PurchaseOredrDetail PurcahseOrderdetaildr = Mdb.PurchaseOredrDetails.Single(a => a.Id == long.Parse(hfPurchaseDetailsId.Value)); if (PurcahseOrderdetaildr.Status > 1) { Response.Write("<script>alert('لا يمكن حذف هذا الصنف حيث انه لم يعُد جديد')</script>"); return; } else { Mdb.PurchaseOredrDetails.Remove(PurcahseOrderdetaildr); Mdb.SaveChanges(); gvPurchaseDetailsData.DataBind(); var PurchaseOrderHeaderRows = from a in Mdb.PurchaseOredrDetails where a.PurchaseOredeHeaderId == long.Parse(hfId.Value) select a; if (PurchaseOrderHeaderRows.Count() <= 0) { ADAM.DataBase.PurchaseOrderHeader PurchaseHeadedr = Mdb.PurchaseOrderHeaders.Single(a => a.Id == long.Parse(hfId.Value)); Mdb.PurchaseOrderHeaders.Remove(PurchaseHeadedr); Mdb.SaveChanges(); btnNew_Click(sender, e); } } }
//protected void btnEditOrderItem_Click(object sender, ImageClickEventArgs e) //{ // try // { // ADAM.DataBase.ADAMConnectionString mdb = new DataBase.ADAMConnectionString(); // ADAM.DataBase.RefluxDetailsData ddr = mdb.RefluxDetailsDatas.Single(a => a.Id == long.Parse(RefluxDetailsId.Value)); // if (ddr.RefluxHeaderData.OrderType == 1) // { // ADAM.DataBase.PurchaseOredrDetail purchasedr = mdb.PurchaseOredrDetails.Single(a => a.Id == ddr.ExchangeOrPurchaseDetailsId); // if (decimal.Parse(txtQty.Text) > purchasedr.ConformQty) // { // Response.Write("<script>alert('لا يمكن ان تكون الكمية المرتجعة اكبر من الكمية الموجوده في طلب الشراء')</script>"); // return; // } // } // if (ddr.RefluxHeaderData.OrderType == 2) // { // ADAM.DataBase.ExchangeRequestDetailsData detailsdr = mdb.ExchangeRequestDetailsDatas.Single(a => a.Id == ddr.ExchangeOrPurchaseDetailsId); // if (decimal.Parse(txtQty.Text) > detailsdr.Qty) // { // Response.Write("<script>alert('لا يمكن ان تكون الكمية المرتجعة اكبر من الكمية الموجوده في طلب الصرف')</script>"); // return; // } // if (decimal.Parse(txtFreeQty.Text) > detailsdr.FreeQty) // { // Response.Write("<script>alert('لا يمكن ان تكون الكمية المجانية المرتجعة اكبر من الكمية الموجوده في طلب الصرف')</script>"); // return; // } // } // ddr.RefluxQty = decimal.Parse(txtQty.Text); // ddr.RefluxFreeQty = decimal.Parse(txtFreeQty.Text); // mdb.SaveChanges(); // gvReflux.DataBind(); // } // catch { } //} protected void btnSave_Click(object sender, ImageClickEventArgs e) { ADAM.DataBase.ADAMConnectionString mdb = new DataBase.ADAMConnectionString(); ADAM.DataBase.RefluxDetailsData ddr = mdb.RefluxDetailsDatas.Single(a => a.Id == long.Parse(RefluxDetailsId.Value)); if (ddr.RefluxHeaderData.OrderType == 1) { ADAM.DataBase.PurchaseOredrDetail Pdr = mdb.PurchaseOredrDetails.Single(a => a.Id == ddr.ExchangeOrPurchaseDetailsId); if (Pdr.Status == 2) { Pdr.IsClosed = 1; } else { Response.Write("<script>alert('لا يمكن ارتجاع هذا الصنف حيث انه ليس في حالة جديد لطلب الشراء')</script>"); return; } } else if (ddr.RefluxHeaderData.OrderType == 2) { ADAM.DataBase.ExchangeRequestDetailsData Edr = mdb.ExchangeRequestDetailsDatas.Single(a => a.Id == ddr.ExchangeOrPurchaseDetailsId); if (Edr.Status == 0) { Response.Write("<script>alert('لا يمكن ارتجاع هذا الصنف حيث انه لم يتم صرفه')</script>"); return; } else if (Edr.Status != 0) { long incommingOrder = 0; long AuditDetailsId = 0; long MovementnameId = 6; var incomeRows = from a in mdb.ItemMovements where (a.MovmentnameId == 3 || a.MovmentnameId == 6) && a.ItemId == ddr.ItemId && a.ItemColorId == ddr.ItemColorId && a.IncommingOrderNo == long.Parse(txtIncommingOrder.Text) select a; if (incomeRows.Count() <= 0) { Response.Write("<script>alert('من فضلك تأكد من رقم أذن الوارد')</script>"); return; } if (!string.IsNullOrEmpty(txtIncommingOrder.Text) && long.Parse(txtIncommingOrder.Text) > 0) { incommingOrder = long.Parse(txtIncommingOrder.Text); MovementnameId = 3; } ADAM.DataBase.ItemMovement itmmovdr = mdb.ItemMovements.Single(a => a.IncommingOrderNo == incommingOrder && a.AuditDetailsId == AuditDetailsId && a.MovmentnameId == MovementnameId && a.ItemColorId == ddr.ItemColorId && a.ItemId == ddr.ItemId); itmmovdr.MainQtyOut = itmmovdr.MainQtyOut - (ddr.RefluxQty + ddr.Bounce); itmmovdr.AdditionalQtyOut = itmmovdr.AdditionalQtyOut - ddr.RefluxFreeQty; ADAM.DataBase.ItemMovement Nmov = new DataBase.ItemMovement(); Nmov.AdditionalQty = ddr.RefluxFreeQty; Nmov.AuditDetailsId = AuditDetailsId; Nmov.DocmentId = ddr.Id; Nmov.IncommingOrderNo = incommingOrder; Nmov.ItemColorId = itmmovdr.ItemColorId; Nmov.ItemId = ddr.ItemId; Nmov.LocatioId = itmmovdr.LocatioId; Nmov.ItemUnitId = itmmovdr.ItemUnitId; Nmov.MainQty = ddr.RefluxQty + ddr.Bounce; Nmov.MainQtyOut = Nmov.AdditionalQtyOut = 0; Nmov.MovementDate = DateTime.Now; Nmov.MovmentnameId = 13; Nmov.RecDate = DateTime.Now; Nmov.StoreId = itmmovdr.StoreId; Nmov.SupplyOrderDetailsId = itmmovdr.SupplyOrderDetailsId; Nmov.ParentItemMoveMentId = itmmovdr.Id; mdb.ItemMovements.Add(Nmov); } ddr.Status = 1; } mdb.SaveChanges(); gvReflux.DataBind(); }
private void SaveData() { try { ADAM.DataBase.ADAMConnectionString Mdb = new DataBase.ADAMConnectionString(); var LocRows = from a in Mdb.ItemLocations where a.ItemTypeId == int.Parse(ddlItemType.SelectedValue) select a; if (LocRows.Count() <= 0) { Response.Write("<script>alert('لم يتم أنشاء Location لهذا المخزن من فضلك')</script>"); return; } #region Create RecordReceiptHeader ADAM.DataBase.RecordReceiptHeader dr = new DataBase.RecordReceiptHeader(); dr.RecordReceiptDate = DateTime.Parse(txtRecordReceiptDate.Text); dr.RecordReceiptNo = long.Parse(txtRecordReceiptNo.Text); dr.RecDate = DateTime.Now; Mdb.RecordReceiptHeaders.Add(dr); Mdb.SaveChanges(); #endregion for (int Row = 0; Row < gvRecordReceipt.Rows.Count; Row++) { CheckBox chkChoose = gvRecordReceipt.Rows[Row].FindControl("chkChoose") as CheckBox; if (chkChoose.Checked) { TextBox txtQtyReceived = gvRecordReceipt.Rows[Row].FindControl("txtQtyReceived") as TextBox; TextBox txtFreeQty = gvRecordReceipt.Rows[Row].FindControl("txtFreeQty") as TextBox; decimal Qty = decimal.Parse(gvRecordReceipt.Rows[Row].Cells[8].Text); if (decimal.Parse(txtQtyReceived.Text) > Qty) { Response.Write("<script>alert('لا يمكن ان تكون الكمية المستملة اكبر من الكمية الموجودة في امر التوريد')</script>"); return; } TextBox txtIndoor = gvRecordReceipt.Rows[Row].FindControl("txtIndoor") as TextBox; TextBox txtNote = gvRecordReceipt.Rows[Row].FindControl("txtNote") as TextBox; if (string.IsNullOrEmpty(txtIndoor.Text) || string.IsNullOrEmpty(txtNote.Text) || string.IsNullOrEmpty(txtQtyReceived.Text)) { Response.Write("<script>alert('من فضلك تأكد من ادخال باقي البيانات')</script>"); return; } long ItemId = Mdb.Items.Single(a => a.Code == long.Parse(gvRecordReceipt.Rows[Row].Cells[3].Text) && a.ItemTypeId == long.Parse(ddlItemType.SelectedValue)).Id; long UnitId = Mdb.Items.Single(a => a.Id == ItemId).ItemunitId; #region Create RecordReceiptDetails ADAM.DataBase.RecordReceiptDetail recdetails = new DataBase.RecordReceiptDetail(); recdetails.Indoor = txtIndoor.Text; recdetails.ItemId = ItemId; recdetails.Note = txtNote.Text; recdetails.QtyReceived = decimal.Parse(txtQtyReceived.Text); recdetails.FreeQty = decimal.Parse(txtFreeQty.Text); recdetails.RecordReceiptHeaderId = dr.Id; recdetails.SupplyOrderDetailsId = long.Parse(gvRecordReceipt.DataKeys[Row].Value.ToString()); Mdb.RecordReceiptDetails.Add(recdetails); #endregion #region Update PurchaseOrderDetail ADAM.DataBase.SupplyOrderDetail supdr = Mdb.SupplyOrderDetails.Single(a => a.Id == long.Parse(gvRecordReceipt.DataKeys[Row].Value.ToString())); ADAM.DataBase.PurchaseOredrDetail Purdr = Mdb.PurchaseOredrDetails.Single(a => a.Id == supdr.PurchaseOrderDetailsId); Purdr.IsChecked = 6; Mdb.SaveChanges(); #endregion #region Create AuditHeader if (hfAuditHeaderId.Value == "0") { ADAM.DataBase.AuditHeader auddr = new DataBase.AuditHeader(); auddr.AuditNo = GetAuditNum(); auddr.AuditDate = DateTime.Now; Mdb.AuditHeaders.Add(auddr); Mdb.SaveChanges(); hfAuditHeaderId.Value = auddr.Id.ToString(); } #endregion #region Create AuditDetail + Create ItemMovement ADAM.DataBase.AuditDetail auddetailsdr = new DataBase.AuditDetail(); auddetailsdr.AcceptQty = 0; auddetailsdr.AuditDetailsDate = DateTime.Now; auddetailsdr.AuditHeaderId = long.Parse(hfAuditHeaderId.Value); auddetailsdr.EmployeeId = 0; auddetailsdr.RecDate = DateTime.Now; auddetailsdr.RecordReceiptDetailsId = recdetails.Id; auddetailsdr.RefusedQty = 0; auddetailsdr.Note = "لا يوجد"; auddetailsdr.AcceptfreeQty = 0; auddetailsdr.RefusedFreeQty = 0; Mdb.AuditDetails.Add(auddetailsdr); ADAM.DataBase.ItemMovement movdr = new DataBase.ItemMovement(); movdr.AdditionalQty = decimal.Parse(txtFreeQty.Text); movdr.DocmentId = recdetails.Id; movdr.ItemId = ItemId; movdr.MainQty = decimal.Parse(txtQtyReceived.Text); movdr.MovementDate = DateTime.Now; movdr.MovmentnameId = 1; movdr.RecDate = DateTime.Now; movdr.StoreId = 1; var Rows = from a in Mdb.ItemLocations where a.ItemTypeId == int.Parse(ddlItemType.SelectedValue) select a; movdr.LocatioId = Rows.First().Id; movdr.ItemUnitId = UnitId; movdr.ItemColorId = Purdr.ItemColorId; movdr.SupplyOrderDetailsId = supdr.Id; movdr.ParentItemMoveMentId = 0; Mdb.ItemMovements.Add(movdr); Mdb.SaveChanges(); #endregion } } Response.Write("<script>alert('تمت عملية الحفظ بنجاح')</script>"); Response.Redirect("~/StoreData/webRecordReceiptData.aspx"); } catch { Response.Write("<script>alert('خطأ أثناء الحفظ من فضلك تأكد من ادخال البيانات بشكل صحيح او الاتصال بقاعدة البيانات')</script>"); } }
protected void btnConform_Click(object sender, ImageClickEventArgs e) { if (Session["UserID"] == null) { Response.Redirect("~/BasicData/webLogIn.aspx"); } int userid = int.Parse(Session["UserID"].ToString()); int operationid = 7; csGetPermission Per = new csGetPermission(); if (!Per.getPermission(userid, pageid, operationid)) { Response.Redirect("~/BasicData/webHomePage.aspx"); } if (string.IsNullOrEmpty(txtAuditNo.Text)) { Response.Write("<script>alert('من فضلك تأكد من ادخال رقم اخطار الفحص')</script>"); return; } ADAM.DataBase.ADAMConnectionString mdb = new DataBase.ADAMConnectionString(); for (int Row = 0; Row < gvAuditData.Rows.Count; Row++) { CheckBox chkChoose = gvAuditData.Rows[Row].FindControl("chkChoose") as CheckBox; if (chkChoose.Checked) { DropDownList ddlEmployee = gvAuditData.Rows[Row].FindControl("ddlEmployee") as DropDownList; TextBox txtAcceptQty = gvAuditData.Rows[Row].FindControl("txtAcceptQty") as TextBox; TextBox txtRefused = gvAuditData.Rows[Row].FindControl("txtRefused") as TextBox; TextBox txtNote = gvAuditData.Rows[Row].FindControl("txtNote") as TextBox; DropDownList ddlLocation = gvAuditData.Rows[Row].FindControl("ddlLocation") as DropDownList; TextBox txtFreeAcceptQty = gvAuditData.Rows[Row].FindControl("txtFreeAcceptQty") as TextBox; TextBox txtfreeRefusedQty = gvAuditData.Rows[Row].FindControl("txtfreeRefusedQty") as TextBox; if (ddlEmployee.SelectedValue == "0" || ddlLocation.SelectedValue == "0" || string.IsNullOrEmpty(txtAcceptQty.Text) || string.IsNullOrEmpty(txtRefused.Text) || string.IsNullOrEmpty(txtFreeAcceptQty.Text) || string.IsNullOrEmpty(txtfreeRefusedQty.Text)) { Response.Write("<script>alert('من فضلك تأكد من ادخال كل البيانات بشكل صحيح')</script>"); return; } decimal Qty = decimal.Parse(gvAuditData.Rows[Row].Cells[2].Text); if ((decimal.Parse(txtAcceptQty.Text) + decimal.Parse(txtRefused.Text)) != Qty) { Response.Write("<script>alert('يجب ان يساوي مجموع الكمية المقبولة والكمية المرفوضة الكمية المستلمة')</script>"); Response.Write("<script>alert(' الكمية المستلمة هي " + Qty + "')</script>"); return; } decimal AllAuditQty = 0; long AuditDetailId = long.Parse(gvAuditData.DataKeys[Row].Value.ToString()); ADAM.DataBase.AuditDetail auddr = mdb.AuditDetails.Single(a => a.Id == AuditDetailId); ADAM.DataBase.RecordReceiptDetail rrdr = mdb.RecordReceiptDetails.Single(a => a.Id == auddr.RecordReceiptDetailsId); ADAM.DataBase.SupplyOrderDetail supdr = mdb.SupplyOrderDetails.Single(a => a.Id == rrdr.SupplyOrderDetailsId); if (supdr.ItemPrice <= 0) { Response.Write("<script>alert('امر التوريد رقم " + supdr.SupplyOrderHeader.SupplyOrderNo + "والمرتبط بهذا الاجراء من فضلك قم بتسعير امر التوريد')</script>"); #region DelJournal for (int DelRow = 0; DelRow < gvAuditData.Rows.Count; DelRow++) { if (DelRow > Row) { continue; } chkChoose = gvAuditData.Rows[DelRow].FindControl("chkChoose") as CheckBox; if (chkChoose.Checked) { ADAM.DataBase.AuditDetail Delauddr = mdb.AuditDetails.Single(a => a.Id == AuditDetailId); ADAM.DataBase.RecordReceiptDetail Delrrdr = mdb.RecordReceiptDetails.Single(a => a.Id == auddr.RecordReceiptDetailsId); ADAM.DataBase.SupplyOrderDetail Delsupdr = mdb.SupplyOrderDetails.Single(a => a.Id == rrdr.SupplyOrderDetailsId); var JourHeaderRows = from a in mdb.JournalHeaders where a.DocId == Delsupdr.Id select a; if (JourHeaderRows.Count() > 0) { ADAM.DataBase.JournalHeader Deljournal = mdb.JournalHeaders.Single(a => a.DocId == Delsupdr.Id); var DelJournalRow = from a in mdb.JournalDetails where a.JournalId == Deljournal.Id select a; if (DelJournalRow.Count() > 0) { foreach (ADAM.DataBase.JournalDetail delJornalDetail in DelJournalRow) { mdb.JournalDetails.Remove(delJornalDetail); } mdb.SaveChanges(); } } } } #endregion return; } ADAM.DataBase.PurchaseOredrDetail Purddr = mdb.PurchaseOredrDetails.Single(a => a.Id == supdr.PurchaseOrderDetailsId); int ItemColorId = Purddr.ItemColorId; var RecDetails = from a in mdb.RecordReceiptDetails where a.SupplyOrderDetailsId == supdr.Id select a; foreach (ADAM.DataBase.RecordReceiptDetail recdr in RecDetails) { ADAM.DataBase.AuditDetail auditdr = mdb.AuditDetails.Single(a => a.RecordReceiptDetailsId == recdr.Id); AllAuditQty = AllAuditQty + auditdr.AcceptQty; } AllAuditQty = AllAuditQty + decimal.Parse(txtAcceptQty.Text); if (AllAuditQty > Purddr.ConformQty) { Response.Write("<script>alert('لا يمكن ان تكون اجمالي الكميات المستلمة اكبر من كمية طلب الشراء المعتمدة')</script>"); return; } #region Update AuditDetails auddr.EmployeeId = long.Parse(ddlEmployee.SelectedValue); auddr.AcceptQty = decimal.Parse(txtAcceptQty.Text); auddr.RefusedQty = decimal.Parse(txtRefused.Text); if (!string.IsNullOrEmpty(txtNote.Text)) { auddr.Note = txtNote.Text; } auddr.AcceptfreeQty = decimal.Parse(txtFreeAcceptQty.Text); auddr.RefusedFreeQty = decimal.Parse(txtfreeRefusedQty.Text); #endregion long UnitId = mdb.Items.Single(a => a.Id == rrdr.ItemId).ItemunitId; //----------------------------------------------------------------------- #region Insert IntoIncommingOrderTable long IncomOrderNo = GetIncoOrderData(long.Parse(ddlItemType.SelectedValue.ToString())); ADAM.DataBase.IncommingOrderData Incdr = new DataBase.IncommingOrderData(); Incdr.AuditDetailsId = auddr.Id; Incdr.FreeItemPrice = 0; Incdr.IncommingOrderNo = IncomOrderNo; Incdr.ItemPrice = supdr.ItemPrice; Incdr.ItemTypeId = long.Parse(ddlItemType.SelectedValue.ToString()); Incdr.RecordReceiptDetailsId = rrdr.Id; Incdr.LocationId = int.Parse(ddlLocation.SelectedValue); mdb.IncommingOrderDatas.Add(Incdr); #endregion //------------------------------------------------------------------------ #region Insert AcceptQty if (decimal.Parse(txtAcceptQty.Text) > 0) { ADAM.DataBase.ItemMovement itmdr = new DataBase.ItemMovement(); itmdr.AdditionalQty = decimal.Parse(txtFreeAcceptQty.Text) * -1; itmdr.DocmentId = auddr.Id; itmdr.ItemId = rrdr.ItemId; itmdr.MainQty = decimal.Parse(txtAcceptQty.Text) * -1; itmdr.MovementDate = DateTime.Now; itmdr.MovmentnameId = 2; itmdr.RecDate = DateTime.Now; itmdr.StoreId = 1; var Rows = from a in mdb.ItemLocations where a.ItemTypeId == int.Parse(ddlItemType.SelectedValue) select a; itmdr.LocatioId = Rows.First().Id; itmdr.ItemUnitId = UnitId; itmdr.SupplyOrderDetailsId = rrdr.SupplyOrderDetailsId; itmdr.ItemColorId = ItemColorId; itmdr.IncommingOrderNo = 0; itmdr.AuditDetailsId = auddr.Id; itmdr.AdditionalQtyOut = 0; itmdr.MainQtyOut = 0; itmdr.ParentItemMoveMentId = 0; mdb.ItemMovements.Add(itmdr); ADAM.DataBase.ItemMovement Nitmdr = new DataBase.ItemMovement(); Nitmdr.AdditionalQty = decimal.Parse(txtFreeAcceptQty.Text); Nitmdr.DocmentId = auddr.Id; Nitmdr.ItemId = rrdr.ItemId; Nitmdr.MainQty = decimal.Parse(txtAcceptQty.Text); Nitmdr.MovementDate = DateTime.Now; Nitmdr.MovmentnameId = 3; Nitmdr.RecDate = DateTime.Now; Nitmdr.StoreId = 2; Nitmdr.LocatioId = int.Parse(ddlLocation.SelectedValue); Nitmdr.ItemUnitId = UnitId; Nitmdr.SupplyOrderDetailsId = rrdr.SupplyOrderDetailsId; Nitmdr.ItemColorId = ItemColorId; Nitmdr.IncommingOrderNo = IncomOrderNo; Nitmdr.AuditDetailsId = auddr.Id; Nitmdr.AdditionalQtyOut = 0; Nitmdr.MainQtyOut = 0; Nitmdr.ParentItemMoveMentId = 0; mdb.ItemMovements.Add(Nitmdr); } #endregion #region Insert RefuseQty if (decimal.Parse(txtRefused.Text) > 0) { ADAM.DataBase.ItemMovement itmdr = new DataBase.ItemMovement(); itmdr.AdditionalQty = decimal.Parse(txtfreeRefusedQty.Text) * -1; itmdr.DocmentId = auddr.Id; itmdr.ItemId = rrdr.ItemId; itmdr.MainQty = decimal.Parse(txtRefused.Text) * -1; itmdr.MovementDate = DateTime.Now; itmdr.MovmentnameId = 4; itmdr.RecDate = DateTime.Now; itmdr.StoreId = 1; var Rows = from a in mdb.ItemLocations where a.ItemTypeId == int.Parse(ddlItemType.SelectedValue) select a; itmdr.LocatioId = Rows.First().Id; itmdr.ItemUnitId = UnitId; itmdr.SupplyOrderDetailsId = rrdr.SupplyOrderDetailsId; itmdr.ItemColorId = ItemColorId; itmdr.IncommingOrderNo = 0; itmdr.AuditDetailsId = auddr.Id; itmdr.AdditionalQtyOut = 0; itmdr.MainQtyOut = 0; itmdr.ParentItemMoveMentId = 0; mdb.ItemMovements.Add(itmdr); ADAM.DataBase.ItemMovement Nitmdr = new DataBase.ItemMovement(); Nitmdr.AdditionalQty = decimal.Parse(txtfreeRefusedQty.Text); Nitmdr.DocmentId = auddr.Id; Nitmdr.ItemId = rrdr.ItemId; Nitmdr.MainQty = decimal.Parse(txtRefused.Text); Nitmdr.MovementDate = DateTime.Now; Nitmdr.MovmentnameId = 5; Nitmdr.RecDate = DateTime.Now; Nitmdr.StoreId = 3; Nitmdr.LocatioId = Rows.First().Id; Nitmdr.ItemUnitId = UnitId; Nitmdr.SupplyOrderDetailsId = rrdr.SupplyOrderDetailsId; Nitmdr.ItemColorId = ItemColorId; Nitmdr.IncommingOrderNo = IncomOrderNo; Nitmdr.AuditDetailsId = auddr.Id; Nitmdr.AdditionalQtyOut = 0; Nitmdr.MainQtyOut = 0; Nitmdr.ParentItemMoveMentId = 0; mdb.ItemMovements.Add(Nitmdr); } #endregion Purddr.IsChecked = 7; if (AllAuditQty == Purddr.ConformQty) { Purddr.IsClosed = 1; } #region InsertJournalCode // من حـ / المخزن // الي حـ / المورد ADAM.DataBase.ItemType itemTypedr = mdb.ItemTypes.Single(a => a.Id == long.Parse(ddlItemType.SelectedValue)); ADAM.DataBase.SupplierData Supplierdr = mdb.SupplierDatas.Single(a => a.Id == supdr.SupplyOrderHeader.SupplierId); csJournal CsJornalRow = new csJournal(); long JournalHeaderId = CsJornalRow.InsertIntoJournalHeader(0, DateTime.Now, 9, "دخول البضاعة الي المخزن", 0, supdr.SupplyOrderHeaderId); CsJornalRow.InsertIntoJournalDetails(itemTypedr.AccountId, supdr.SupplyOrderHeader.CostCenter, (decimal.Parse(txtAcceptQty.Text) * supdr.ItemPrice), 0, JournalHeaderId, "من ح/ المخزن"); CsJornalRow.InsertIntoJournalDetails(Supplierdr.AccountId, supdr.SupplyOrderHeader.CostCenter, 0, (decimal.Parse(txtAcceptQty.Text) * supdr.ItemPrice), JournalHeaderId, "الي حـ / المورد"); #endregion } } mdb.SaveChanges(); Response.Redirect("~/StoreData/webConformAudit.aspx"); }