コード例 #1
0
        protected void gvProducts_PreRender(object sender, EventArgs e)
        {
            if (gvProducts.TopPagerRow != null)
            {
                gvProducts.TopPagerRow.Visible = true;
                ((TextBox)gvProducts.HeaderRow.FindControl("txtFilterOrderId")).Text   = GetStringState(ORDER_ID_FILTER);
                ((TextBox)gvProducts.HeaderRow.FindControl("txtFilterProductId")).Text = GetStringState(PRODUCT_ID_FILTER);
                ((TextBox)gvProducts.HeaderRow.FindControl("txtFilterName")).Text      = GetStringState(PRODUCT_NAME_FILTER);
                ((TextBox)gvProducts.HeaderRow.FindControl("txtFilterOption")).Text    = GetStringState(PRODUCT_SIZE_FILTER);
                ((TextBox)gvProducts.HeaderRow.FindControl("txtFilterBarcode")).Text   = GetStringState(BARCODE_FILTER);

                DropDownList ddl = ((DropDownList)gvProducts.HeaderRow.FindControl("ddlStatus"));

                ListItem item = ddl.Items.FindByValue(GetStringState(STATUS_CODE_FILTER));

                if (item != null)
                {
                    ddl.SelectedIndex = -1;
                    item.Selected     = true;
                }
            }

            for (int i = 0; i < gvProducts.Rows.Count; i++)
            {
                CheckBox cb             = gvProducts.Rows[i].FindControl("cbChosen") as CheckBox;
                CheckBox cbLastActivity = gvProducts.Rows[i].FindControl("cbLastActivity") as CheckBox;

                LineItemLite item = BuildItem(Convert.ToInt32(gvProducts.DataKeys[i].Value), gvProducts.Rows[i]);

                if (cb != null)
                {
                    SetChosenItems(item, cb.Checked, cbLastActivity.Checked);
                }
            }
        }
コード例 #2
0
        private bool IsEqual(LineItemLite item1, LineItemLite item2)
        {
            PropertyInfo[] properties1 = item1.GetType().GetProperties();
            PropertyInfo[] properties2 = item2.GetType().GetProperties();
            object         value1;
            object         value2;

            Type type    = item1.GetType();
            bool isEqual = false;

            for (int i = 0; i < properties1.Length; i++)
            {
                value1 = properties1[i].GetValue(item1, null);
                value2 = properties2[i].GetValue(item2, null);

                if (value1 != null && value2 != null)
                {
                    isEqual = value1.Equals(value2);
                }

                if (!isEqual)
                {
                    break;
                }
            }

            return(isEqual);
        }
コード例 #3
0
        private LineItemLite BuildItem(LineItemOverviewModel lineItem, GridViewRow row)
        {
            var newItem = new LineItemLite();

            newItem.LineItemId        = lineItem.Id;
            newItem.OrderId           = lineItem.OrderId;
            newItem.Name              = lineItem.Name;
            newItem.Option            = lineItem.Option;
            newItem.ShippedQuantity   = lineItem.ShippedQuantity;
            newItem.PendingQuantity   = lineItem.PendingQuantity;
            newItem.AllocatedQuantity = lineItem.AllocatedQuantity;
            newItem.StatusCode        = lineItem.StatusCode;

            //Fetch comment
            TextBox txtComment = row.FindControl("txtComment") as TextBox;

            if (txtComment.Text.Trim() != string.Empty)
            {
                newItem.Comment = txtComment.Text.Trim();
            }

            // Fetch status
            DropDownList ddlItemStatus = (DropDownList)row.FindControl("ddlItemStatus");

            if (ddlItemStatus.SelectedValue != string.Empty)
            {
                newItem.StatusCode = ddlItemStatus.SelectedValue;
            }

            return(newItem);
        }
コード例 #4
0
        protected void gvProducts_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                DropDownList ddlItemStatus = AdminStoreUtility.FindControlRecursive(e.Row, "ddlItemStatus") as DropDownList;

                Literal ltlStatusCode = AdminStoreUtility.FindControlRecursive(e.Row, "ltlStatusCode") as Literal;

                // binding selected text to dropdown
                if (ltlStatusCode.Text != string.Empty)
                {
                    var foundItem = ddlItemStatus.Items.FindByValue(ltlStatusCode.Text);
                    if (foundItem != null)
                    {
                        foundItem.Selected = true;
                    }
                }

                var          item       = (LineItemOverviewModel)e.Row.DataItem;
                LineItemLite itemLite   = BuildItem(item, e.Row);
                LineItemLite chosenItem = null;

                if (ExistInChosenItems(itemLite))
                {
                    chosenItem = SessionFacade.ChosenLineItemLites.Find(delegate(LineItemLite arg)
                    {
                        return(itemLite.LineItemId == arg.LineItemId);
                    });
                }

                CheckBox cb = e.Row.FindControl("cbChosen") as CheckBox;

                if (chosenItem != null)
                {
                    TextBox txtComment = e.Row.FindControl("txtComment") as TextBox;
                    txtComment.Text    = chosenItem.Comment;
                    ltlStatusCode.Text = chosenItem.StatusCode;

                    ddlItemStatus.SelectedIndex = -1;
                    ddlItemStatus.Items.FindByValue(ltlStatusCode.Text).Selected = true;
                    cb.Checked = true;
                }
            }
        }
コード例 #5
0
        private void SetChosenItems(LineItemLite item, bool chosen, bool updateLastActivityDate)
        {
            if (item != null)
            {
                if (chosen)
                {
                    item.UpdateOrderLastActivityDateFlag = updateLastActivityDate;

                    if (ExistInChosenItems(item))
                    {
                        SessionFacade.ChosenLineItemLites.RemoveAll(delegate(LineItemLite arg)
                        {
                            return(arg.LineItemId == item.LineItemId);
                        });
                    }

                    SessionFacade.ChosenLineItemLites.Add(item);
                    SessionFacade.NotChosenLineItemLites.RemoveAll(delegate(LineItemLite arg)
                    {
                        return(arg.LineItemId == item.LineItemId);
                    });
                }
                else
                {
                    SessionFacade.ChosenLineItemLites.RemoveAll(delegate(LineItemLite arg)
                    {
                        return(arg.LineItemId == item.LineItemId);
                    });

                    if (ExistInNotChosenItems(item))
                    {
                        SessionFacade.NotChosenLineItemLites.RemoveAll(delegate(LineItemLite arg)
                        {
                            return(arg.LineItemId == item.LineItemId);
                        });
                    }

                    SessionFacade.NotChosenLineItemLites.Add(item);
                }
            }
        }
コード例 #6
0
        private bool ExistInNotChosenItems(LineItemLite item)
        {
            bool exist = false;

            for (int j = 0; j < SessionFacade.NotChosenLineItemLites.Count; j++)
            {
                exist = IsEqual(SessionFacade.NotChosenLineItemLites[j], item);

                if (!exist)
                {
                    exist = SessionFacade.NotChosenLineItemLites[j].LineItemId == item.LineItemId;
                }

                if (exist)
                {
                    break;
                }
            }

            return(exist);
        }