示例#1
0
        protected void rblSMTA_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (rblSMTA.SelectedIndex == -1)
            {
                lblSMTA.Visible = true;
            }
            else
            {
                lblSMTA.Visible = false;
                if (rblSMTA.SelectedValue == "NO")
                { // Delete the SMTA accession from the cart/order
                    Cart     c = Cart.Current;
                    Favorite f = Favorite.Current;
                    using (SecureData sd = new SecureData(false, UserManager.GetLoginToken()))
                    {
                        var ds = sd.GetData("web_cartview", ":idlist=" + Toolkit.Join(c.AccessionIDs.ToArray(), ",", ""), 0, 0);
                        var dt = ds.Tables["web_cartview"];

                        bool changed = false;
                        for (int i = 0; i < dt.Rows.Count; i++)
                        {
                            int id = Toolkit.ToInt32(dt.Rows[i]["accession_id"].ToString(), 0);

                            if (dt.Rows[i]["type_code"].ToString() == "MTA-SMTA")
                            {
                                c.RemoveAccession(id, false);
                                f.AddAccession(id, null);

                                changed = true;
                            }
                        }
                        if (changed)
                        {
                            c.Save();
                            f.Save();

                            for (int i = 0; i < dt.Rows.Count; i++)
                            {
                                int id = Toolkit.ToInt32(dt.Rows[i]["accession_id"].ToString(), 0);

                                if (dt.Rows[i]["type_code"].ToString() == "MTA-SMTA")
                                {
                                    // Special hidden usage
                                    using (DataManager dm = sd.BeginProcessing(true))
                                    {
                                        int wuserid = sd.WebUserID;
                                        int cartId  = 0;
                                        cartId = Toolkit.ToInt32(dm.ReadValue(@"
                                        select web_user_cart_id  from web_user_cart where cart_type_code = 'favorites' and web_user_id = :wuserid",
                                                                              new DataParameters(":wuserid", wuserid, DbType.Int32)), 0);

                                        dm.Write(@"update web_user_cart_item set usage_code = 'SMTA-NO' where web_user_cart_id = :cartid and accession_id = :aid",
                                                 new DataParameters(":cartid", cartId, DbType.Int32, ":aid", id, DbType.Int32));
                                    }
                                }
                            }


                            bindOrderData();

                            if (c.AccessionIDs.Count == 0)
                            {
                                btnProcess.Visible = false;
                            }
                        }
                    }
                }
            }
            proceedToOrder();
        }
示例#2
0
        protected void btnAddToFavorite_Click(object sender, ImageClickEventArgs e)
        {
            // find all checkmarked rows, add them to the favorite.
            Favorite f              = Favorite.Current;
            bool     changed        = false;
            int      itemsAdded     = 0;
            int      itemsProcessed = 0;

            for (int i = 0; i < ggPivotView.PrimaryKeys.Length; i++)
            {
                // this row needs to be added to the order.
                int accessionID = ggPivotView.PrimaryKeys[i];

                if (accessionID > 0)
                {
                    int added = f.AddAccession(accessionID, null);
                    if (added > 0)
                    {
                        itemsAdded++;
                    }
                    else
                    {
                        itemsProcessed++;
                    }
                    changed = true;
                }
            }
            if (changed)
            {
                f.Save();
            }

            parseQueryString();


            string msg = "";

            if (itemsAdded == 0)
            {
            }
            else if (itemsAdded == 1)
            {
                msg = Page.GetDisplayMember("Search", "add1Item", "Added 1 item to your favorites.");
            }
            else
            {
                msg = Page.GetDisplayMember("Search", "addMultipleItems", "Added {0} items to your favorites.", itemsAdded.ToString());
            }
            if (itemsProcessed == 0)
            {
                // nothing processed, nothing to do
            }
            else
            {
                if (itemsAdded == 0)
                {
                    if (itemsProcessed == 1)
                    {
                        msg += Page.GetDisplayMember("Search", "oneItemAlreadyInFavorites", "  That item was already in your favorites.");
                    }
                    else
                    {
                        msg += Page.GetDisplayMember("Search", "allItemsAlreadyInFavorites", "  All of those items were already in your favorites.");
                    }
                }
                else
                {
                    if (itemsProcessed > 1)
                    {
                        msg += Page.GetDisplayMember("Search", "someItemsAlreadyInFavorites", "  {0} items were already in your favorites.", itemsProcessed.ToString());
                    }
                    else
                    {
                        msg += Page.GetDisplayMember("Search", "oneItemAlreadyInFavorites", "  That item was already in your favorites.");
                    }
                }
            }

            Master.ShowMessage(msg.Trim());
        }