示例#1
0
    protected int SaveItem()
    {
        string itemType = this.ItemTypeHid.Value;

        if (itemType == "")
        {
            Utility.Alert(this, "消费分类填写错误!");
            return(2);
        }

        int catTypeId = Int32.Parse(this.CategoryTypeDown.SelectedValue);

        if (catTypeId == 0)
        {
            Utility.Alert(this, "商品类别填写错误!");
            return(2);
        }
        Response.Cookies["CatTypeID"].Value   = catTypeId.ToString();
        Response.Cookies["CatTypeID"].Expires = DateTime.MaxValue;

        string itemName = this.ItemName.Text.Trim();

        if (itemName == "")
        {
            Utility.Alert(this, "商品名称填写错误!");
            return(2);
        }

        int userId = Int32.Parse(Session["UserID"].ToString());

        string itemPrice = this.ItemPrice.Text.Trim();

        if (!ValidHelper.CheckDouble(itemPrice))
        {
            Utility.Alert(this, "商品价格填写错误!");
            return(2);
        }

        int zhuanTiId = Int32.Parse(this.ZhuanTiDown.SelectedValue);

        int cardId = Int32.Parse(this.CardDown.SelectedValue);

        Response.Cookies["CardID"].Value   = cardId.ToString();
        Response.Cookies["CardID"].Expires = DateTime.MaxValue;

        DateTime itemBuyDate  = DateTime.Now;
        DateTime itemBuyDate1 = DateTime.Now;
        DateTime itemBuyDate2 = DateTime.Now;
        int      monthRegion  = 0;
        int      regionId     = 0;
        string   regionType   = "";

        if (this.RegionID.Checked)
        {
            if (!ValidHelper.CheckDate(this.ItemBuyDate1.Text.Trim()) || !ValidHelper.CheckDate(this.ItemBuyDate2.Text.Trim()))
            {
                Utility.Alert(this, "购买日期填写错误!");
                return(2);
            }
            else
            {
                itemBuyDate1 = DateTime.Parse(this.ItemBuyDate1.Text.Trim() + " " + DateTime.Now.ToString("HH:mm:ss"));
                itemBuyDate2 = DateTime.Parse(this.ItemBuyDate2.Text.Trim() + " " + DateTime.Now.ToString("HH:mm:ss"));
            }

            regionType  = this.RegionTypeHid.Value;
            itemBuyDate = itemBuyDate1;
            regionId    = Int32.Parse(ItemAccess.GetItemListMaxRegionId(userId));
            monthRegion = ItemHelper.GetMonthRegion(itemBuyDate1, itemBuyDate2, regionType);

            //判断区间最大天数
            int    maxRegion = 0;
            string regionStr = "";
            switch (regionType)
            {
            case "d":
            case "b":
                maxRegion = 92;
                regionStr = "应小于3个月。";
                break;

            case "w":
                maxRegion = (int)Math.Floor((double)92 / 7);
                regionStr = "应小于3个月。";
                break;

            case "m":
                maxRegion = 36;
                regionStr = "应小于3年。";
                break;

            case "y":
                maxRegion = 15;
                regionStr = "应小于15年。";
                break;
            }

            if (monthRegion <= 0 || monthRegion >= maxRegion)
            {
                Utility.Alert(this, "区间日期设置不合理!" + regionStr);
                return(2);
            }
        }
        else
        {
            if (!ValidHelper.CheckDate(this.ItemBuyDateHid.Value))
            {
                Utility.Alert(this, "购买日期填写错误!");
                return(2);
            }
            else
            {
                itemBuyDate  = DateTime.Parse(this.ItemBuyDateHid.Value + " " + DateTime.Now.ToString("HH:mm:ss"));
                itemBuyDate1 = itemBuyDate;
            }
        }

        ItemEntity item = new ItemEntity();

        item.ItemType       = itemType;
        item.ItemName       = itemName;
        item.CategoryTypeID = catTypeId;
        item.ItemPrice      = Double.Parse(itemPrice);
        item.UserID         = userId;
        item.RegionID       = regionId;
        item.RegionType     = regionType;
        item.Synchronize    = 1;
        item.ZhuanTiID      = zhuanTiId;
        item.CardID         = cardId;

        bool success = false;

        for (int i = 0; i <= monthRegion; i++)
        {
            switch (regionType)
            {
            case "d":
                itemBuyDate = itemBuyDate1.AddDays(i);
                break;

            case "w":
                itemBuyDate = itemBuyDate1.AddDays(i * 7);
                break;

            case "m":
                itemBuyDate = itemBuyDate1.AddMonths(i);
                break;

            case "y":
                itemBuyDate = itemBuyDate1.AddYears(i);
                break;

            case "b":
                DateTime curDate = itemBuyDate1.AddDays(i);
                if (ItemHelper.GetWorkDayFinal(curDate, Session["UserWorkDay"].ToString()))
                {
                    itemBuyDate = curDate;
                }
                else
                {
                    continue;
                }
                break;
            }

            item.ItemBuyDate = itemBuyDate;
            success          = ItemAccess.InsertItem(item, 1);
        }

        if (success)
        {
            Session["TodayDate"] = itemBuyDate1.ToString("yyyy-MM-dd");
            return(1);
        }
        else
        {
            return(0);
        }
    }