コード例 #1
0
        protected void btnRun_OnClick(object sender, EventArgs e)
        {
            List <Filter> filters      = new List <Filter>();
            var           selectedCust = drpCustomer.SelectedValue.ToSafeInt();
            var           IOType       = (int)Page.RouteData.Values["Type"].ToSafeString().ToEnum <InOutType>();

            filters.Add(new Filter("InOutType", OperationType.Equals, IOType));
            if (selectedCust != -1 && selectedCust != 0)
            {
                filters.Add(new Filter("CustomerId", OperationType.Equals, drpCustomer.SelectedValue.ToSafeInt()));
            }
            if (dtFrom.Date != "")
            {
                filters.Add(new Filter("InsertDateTimeDetailEn", OperationType.GreaterThanOrEqual, dtFrom.Date.ToEnDate()));
            }
            if (dtTo.Date != "")
            {
                filters.Add(new Filter("InsertDateTimeDetailEn", OperationType.LessThanOrEqual, dtTo.Date.ToEnDate().AddDays(1).AddSeconds(-1)));
            }

            var whereClause = filters.Count > 0 ? ExpressionBuilder.GetExpression <InputOutputDetailHelper>(filters):null;

            Session["Result"] = new InputOutputDetailRepository().GetByFilter(whereClause);
            BindGrid();
        }
コード例 #2
0
        protected void btnRun_OnClick(object sender, EventArgs e)
        {
            List <Filter> filters         = new List <Filter>();
            var           selectedCust    = drpCustomer.SelectedValue.ToSafeInt();
            var           selectedProduct = drpProducts.SelectedValue.ToSafeInt();

            if (selectedCust != -1 && selectedCust != 0)
            {
                filters.Add(new Filter("CustomerId", OperationType.Equals, drpCustomer.SelectedValue.ToSafeInt()));
            }
            if (selectedProduct != -1 && selectedProduct != 0)
            {
                filters.Add(new Filter("ProductId", OperationType.Equals, drpProducts.SelectedValue.ToSafeInt()));
            }
            if (dtFrom.Date != "")
            {
                filters.Add(new Filter("InsertDateTimeDetail", OperationType.GreaterThanOrEqual, dtFrom.Date.ToEnDate()));
            }
            if (dtTo.Date != "")
            {
                filters.Add(new Filter("InsertDateTimeDetail", OperationType.LessThanOrEqual, dtTo.Date.ToEnDate().AddDays(1).AddSeconds(-1)));
            }

            var whereClause = filters.Count > 0 ? ExpressionBuilder.GetExpression <InputOutputDetailHelper>(filters):null;

            Session["Result"] = new InputOutputDetailRepository().CardexReport(whereClause);
            BindGrid();
        }
コード例 #3
0
ファイル: InputOutput.aspx.cs プロジェクト: arash7388/Tarin
        private bool ValidateForm(int pid)
        {
            if (txtProductCode.Text.ToSafeString() == "" || txtCount.Text.ToSafeString() == "")
            {
                ((Main)Page.Master).SetGeneralMessage("اطلاعات کالا را وارد نمایید", MessageType.Error);
                return(false);
            }

            if (((List <InputHelper>)Session["GridSource"]).Any(a => a.ProductId == pid))
            {
                ((Main)Page.Master).SetGeneralMessage("کالای وارد شده تکراری است", MessageType.Error);
                return(false);
            }

            if (drpCustomer.SelectedValue.ToSafeInt() == 0)
            {
                ((Main)Page.Master).SetGeneralMessage("مشتری را انتخاب نمایید", MessageType.Error);
                return(false);
            }

            if (rbQuality.SelectedIndex == -1)
            {
                ((Main)Page.Master).SetGeneralMessage("کیفیت را انتخاب نمایید", MessageType.Error);
                return(false);
            }

            if (!IsInputReceipt())
            {
                var supply = GetProductSupply(pid);
                if (supply - txtCount.Text.ToSafeInt() < 0)
                {
                    ((Main)Page.Master).SetGeneralMessage("موجودی ناکافی ، موجودی فعلی : " + supply, MessageType.Error);
                    return(false);
                }

                var negativePIDs = new InputOutputDetailRepository().CheckSupplyForNextOutputsBeforeInsertOutput(
                    txtCount.Text.ToSafeInt(), pid, Utility.AdjustTimeOfDate(dtInputOutputDetail.Date.ToEnDate()));

                if (negativePIDs.Any())
                {
                    ((Main)Page.Master).SetGeneralMessage("رسید های بعدی نامعتبر(دارای موجودی منفی) خواهند شد", MessageType.Error);
                    return(false);
                }
            }

            ((Main)Page.Master).HideGeneralMessage();

            return(true);
        }
コード例 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!Page.IsPostBack)
            {
                var customers = new CustomerRepository().GetAll().OrderBy(a => a.Name).ToList();

                var emptyCustomer = new Repository.Entity.Domain.Customer();
                emptyCustomer.Id   = -1;
                emptyCustomer.Name = "انتخاب کنید...";

                customers.Insert(0, emptyCustomer);
                drpCustomer.DataSource     = customers;
                drpCustomer.DataValueField = "Id";
                drpCustomer.DataTextField  = "Name";
                drpCustomer.DataBind();

                if (Page.RouteData.Values["Type"].ToSafeString() == "In")
                {
                    List <Filter> filters = new List <Filter>();
                    filters.Add(new Filter("InOutType", OperationType.Equals, (int)InOutType.In));
                    var whereClause = ExpressionBuilder.GetExpression <InputOutputDetailHelper>(filters);

                    Session["Result"]  = new InputOutputDetailRepository().GetByFilter(whereClause);
                    h3Header.InnerText = "گزارش ورود کالا";

                    RadGridReport.MasterTableView.GetColumn("columnRInId").Visible = false;
                }
                else
                {
                    List <Filter> filters = new List <Filter>();
                    filters.Add(new Filter("InOutType", OperationType.Equals, (int)InOutType.Out));
                    var whereClause = ExpressionBuilder.GetExpression <InputOutputDetailHelper>(filters);

                    Session["Result"]  = new InputOutputDetailRepository().GetByFilter(whereClause);
                    h3Header.InnerText = "گزارش خروج کالا";
                }
            }

            BindGrid();
        }
コード例 #5
0
        protected void gridList_OnRowCommand(object sender, GridViewCommandEventArgs e)
        {
            var routeValues = new RouteValueDictionary();

            routeValues.Add("Id", e.CommandArgument);

            if (e.CommandName == "Edit")
            {
                routeValues.Add("Type", Page.RouteData.Values["Type"].ToSafeString());
                Response.RedirectToRoute("InputOutput", routeValues);
                Response.End();
            }
            else if (e.CommandName == "Delete")
            {
                if (Page.RouteData.Values["Type"].ToString() == "In")
                {
                    var negativePIDs = new InputOutputDetailRepository().CheckSupplyValidationBeforeDeleteInput(e.CommandArgument.ToSafeInt());

                    if (negativePIDs.Any())
                    {
                        string listOfProductCodes = "";
                        negativePIDs.ForEach(a => { listOfProductCodes += GetProductCode(a) + ","; });

                        Session["ValidationBeforeDelete"] = listOfProductCodes.Remove(listOfProductCodes.Length - 1, 1);

                        var rv = new RouteValueDictionary();
                        rv.Add("Type", "In");
                        Response.RedirectToRoute("InputOutputList", rv);
                    }
                    else
                    {
                        DoDelete(e);
                    }
                }
                else
                {
                    DoDelete(e);
                }
            }
        }