Example #1
0
        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;
 }
Example #3
0
        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 { }
        }
Example #4
0
        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();
     }
 }
Example #7
0
 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);
         }
     }
 }
Example #9
0
        //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>"); }
        }
Example #11
0
        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");
        }