private void FillProgram(hccProgram program)
        {
            _ProgramName = program.Name;
            _ProgramId   = program.ProgramID.ToString();

            rpet_plan_types.DataSource = hccProgramPlan.GetBy(program.ProgramID, true).Where(prog => prog.PricePerDay > 0).ToList();
            rpet_plan_types.DataBind();

            //Bind Plan Option data if there is any
            rpet_plan_options.DataSource = hccProgramOption.GetBy(program.ProgramID)
                                           .Where(a => !string.IsNullOrWhiteSpace(a.OptionText)).ToList();
            rpet_plan_options.DataBind();

            //Get the valid delivery dates
            List <hccProductionCalendar> calendar = hccProductionCalendar.GetNext4Calendars();

            //List<hccProductionCalendar> calendar = hccProductionCalendar.GetAll().Where(cal => cal.OrderCutOffDate > DateTime.Now).OrderBy(ord => ord.DeliveryDate).ToList();
            ddl_delivery_date.DataSource     = calendar;
            ddl_delivery_date.DataTextField  = "DeliveryDate";
            ddl_delivery_date.DataValueField = "DeliveryDate";//"CalendarID";
            ddl_delivery_date.DataBind();

            MembershipUser user = Helpers.LoggedUser;

            if (user != null)
            {
                CartUserASPNetId = (Guid)user.ProviderUserKey;
                BindddlProfiles();
            }

            multi_programs.ActiveViewIndex = multi_programs.ActiveViewIndex + 1;
        }
Esempio n. 2
0
        protected override void SetButtons()
        {
            ShowDeactivate = false;

            if (this.PrimaryKeyIndex > 0)
            {
                ShowDeactivate = true;

                if (CurrentProgram == null)
                {
                    CurrentProgram = hccProgram.GetById(this.PrimaryKeyIndex);
                }

                if (CurrentProgram != null)
                {
                    if (CurrentProgram.IsActive)
                    {
                        btnDeactivate.Text    = "Retire";
                        UseReactivateBehavior = false;
                    }
                    else
                    {
                        btnDeactivate.Text    = "Reactivate";
                        UseReactivateBehavior = true;
                    }
                }
            }

            btnDeactivate.Visible = ShowDeactivate;
        }
        void DisplayDailyPrice(object sender, EventArgs e)
        {
            if (ddlPlans.SelectedIndex > 0 && ddlOptions.SelectedIndex > 0)
            {
                hccProgramPlan   plan    = hccProgramPlan.GetById(int.Parse(ddlPlans.SelectedValue));
                hccProgram       program = hccProgram.GetById(int.Parse(ddlPrograms.SelectedValue));
                hccProgramOption option  = hccProgramOption.GetBy(program.ProgramID).SingleOrDefault(a => a.ProgramOptionID == int.Parse(ddlOptions.SelectedValue));

                if (plan != null && option != null)
                {
                    int     numDays    = plan.NumDaysPerWeek * plan.NumWeeks;
                    decimal dailyPrice = plan.PricePerDay + option.OptionValue;
                    decimal itemPrice  = numDays * dailyPrice;

                    lblPlanPrice.Text = string.Format("Daily Price: {0}; Total Price: {1}", dailyPrice.ToString("c"), itemPrice.ToString("c"));
                }
                else
                {
                    lblPlanPrice.Text = string.Empty;
                }
            }
            else
            {
                lblPlanPrice.Text = string.Empty;
            }
        }
        protected void ButtonRefresh_Click(object sender, EventArgs e)
        {
            hccProductionCalendar cal = hccProductionCalendar.GetBy(DateTime.Parse(txtStartDate.Text));

            if (cal != null)
            {
                cM.CurrentCalendarId = cal.CalendarID;
            }

            cM.CurrentCartItem = hccCartItem.GetById(int.Parse(ddlCustomers.SelectedItem.Value));

            if (cM.CurrentCartItem.Plan_PlanID != null)
            {
                hccProgramPlan plan    = hccProgramPlan.GetById(cM.CurrentCartItem.Plan_PlanID.Value);
                hccProgram     program = hccProgram.GetById(plan.ProgramID);

                if (plan != null && program != null)
                {
                    // load user profile data
                    hccUserProfile profile = cM.CurrentCartItem.UserProfile;
                    hccUserProfile parent  = hccUserProfile.GetParentProfileBy(profile.MembershipID);

                    lblOrderData.Text = string.Format("Order #{0}: {1}/{2}",
                                                      cM.CurrentCartItem.OrderNumber, program.Name, plan.Name);
                    lblCustData.Text = string.Format("For: {0}, {1} ({2})  Delivery Date: {3}",
                                                     parent.LastName, parent.FirstName, profile.ProfileName, txtStartDate.Text); //cM.CurrentCartItem.DeliveryDate.ToShortDateString()

                    defaultMenuSelections = hccProgramDefaultMenu.GetBy(cM.CurrentCalendarId, program.ProgramID);

                    days = cM.BindWeeklyGlance(defaultMenuSelections, plan.NumDaysPerWeek, int.Parse(ddlCustomers.SelectedValue));
                    lvCustomerMealReport.DataSource = days;
                    lvCustomerMealReport.DataBind();
                }
            }
        }
        protected void btnLoadCustomers_Click(object sender, EventArgs e)
        {
            try
            {
                ddlCustomers.Items.Clear();

                lstMCI = hccCartItem.Search_MealOrderTicketForWaaG(DateTime.Parse(txtStartDate.Text), (DateTime.Parse(txtStartDate.Text)));
                List <CustomerCalendarMenu> lstCMC = new List <CustomerCalendarMenu>();

                var cccValue = new CustomerCalendarMenu();

                var currentCustCalendarValues =
                    (from c in lstMCI
                     where c.CartItem.Plan_PlanID != null
                     orderby c.CustomerName
                     select c.CustomerName + "|" + c.CartItemId + "|" + c.OrderNumber + "|" + c.CartItem.Plan_PlanID).Distinct();

                foreach (string c in currentCustCalendarValues)
                {
                    hccProgramPlan plan = hccProgramPlan.GetById(int.Parse(c.Split('|')[3]));
                    hccProgram     prog = hccProgram.GetById(plan.ProgramID);

                    ListItem li = new ListItem(c.Split('|')[0] + " order # " + c.Split('|')[2] + " " + prog.Name, c.Split('|')[1]);
                    ddlCustomers.Items.Add(li);
                }
            }
            catch { }
        }
        //void cbxRecurring_CheckedChanged(object sender, EventArgs e)
        //{
        //    if (ViewState["CartUserASPNetId"] == null)
        //    {
        //        Response.Redirect("~/login.aspx?rp=" + Request.Url.ToString().Split('/').Last(), true);
        //    }
        //}

        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Page.RouteData.Values["programname"] != null)
                {
                    if (string.IsNullOrEmpty(Page.RouteData.Values["programname"].ToString()))
                    {
                        BindrptMenuPrograms();
                    }
                    else
                    {
                        hccProgram program = hccProgram.GetBy(true).Where(x => Regex.Replace(x.Name, @"[^\w\d/]", "-") == Page.RouteData.Values["programname"].ToString()).SingleOrDefault();
                        if (program != null)
                        {
                            FillProgram(program);
                        }
                        else
                        {
                            BindrptMenuPrograms();
                        }
                    }
                }
                else
                {
                    BindrptMenuPrograms();
                }
            }
        }
Esempio n. 7
0
        protected void cstName_ServerValidate(object source, ServerValidateEventArgs args)
        {
            hccProgram existProg = hccProgram.GetBy(txtProgramName.Text.Trim());

            if (existProg != null && existProg.ProgramID != this.PrimaryKeyIndex)
            {
                args.IsValid = false;
            }
        }
 public void lnkSelectClick(Object sender, EventArgs e)
 {
     try
     {
         int        programId = (Information.IsNumeric(((LinkButton)sender).CommandArgument)) ? Convert.ToInt32(((LinkButton)sender).CommandArgument) : 0;
         hccProgram program   = hccProgram.GetById(programId);
         FillProgram(program);
     }
     catch (Exception)
     {
         throw;
     }
 }
Esempio n. 9
0
        protected void btnDeactivate_Click(object sender, EventArgs e)
        {
            if (CurrentProgram == null)
            {
                CurrentProgram = hccProgram.GetById(this.PrimaryKeyIndex);
            }

            if (CurrentProgram != null)
            {
                CurrentProgram.Retire(!UseReactivateBehavior);
                this.OnSaved(new ControlSavedEventArgs(CurrentProgram.ProgramID));
            }
        }
        void BindddlOptions(int programId)
        {
            ddlOptions.ClearSelection();
            ddlOptions.Items.Clear();

            hccProgram prog = hccProgram.GetById(programId);

            ddlOptions.DataSource     = hccProgramOption.GetBy(prog.ProgramID).Where(a => !string.IsNullOrWhiteSpace(a.OptionText)).OrderBy(a => a.OptionIndex).ToList();
            ddlOptions.DataTextField  = "FullText";
            ddlOptions.DataValueField = "ProgramOptionID";
            ddlOptions.DataBind();

            ddlOptions.Items.Insert(0, new ListItem("Select Options...", "-1"));
            ddlOptions.Enabled = true;
        }
        void gvwPlansRetired_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                hccProgramPlan plan = (hccProgramPlan)e.Row.DataItem;

                if (plan != null)
                {
                    hccProgram prog = hccProgram.GetById(plan.ProgramID);

                    if (prog != null)
                    {
                        e.Row.Cells[4].Text = prog.Name;
                    }
                }
            }
        }
Esempio n. 12
0
        void gvwProgramsActive_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                int        menuItemId = int.Parse(e.Keys[0].ToString());
                hccProgram del        = hccProgram.GetById(menuItemId);

                if (del != null)
                {
                    del.Retire(true);
                    BindBothLists();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 13
0
        void gvwProgramsRetired_RowDeleting(object sender, GridViewDeleteEventArgs e)
        {
            try
            {
                int        progId  = int.Parse(e.Keys[0].ToString());
                hccProgram delItem = hccProgram.GetById(progId);

                if (delItem != null)
                {
                    delItem.Retire(false);
                    BindBothLists();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        void rptMenuPrograms_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                hccProgram program = (hccProgram)e.Item.DataItem;

                Label lblPricePerDay = (Label)e.Item.FindControl("lblPricePerDay");

                if (lblPricePerDay != null)
                {
                    lblPricePerDay.Text = program.GetCheapestPlanPrice().ToString("c");
                }

                if (program.MoreInfoNavID.HasValue)
                {
                    HyperLink lnkMoreInfo = (HyperLink)e.Item.FindControl("lnkMoreInfo");

                    if (lnkMoreInfo != null && program.MoreInfoNavID.HasValue && program.MoreInfoNavID.Value > 0)
                    {
                        lnkMoreInfo.NavigateUrl = BayshoreSolutions.WebModules.Webpage.GetWebpage(program.MoreInfoNavID.Value).Path;
                    }
                }
            }
        }
        //public string GetProgramImage(string programName)
        //{
        //    var fileName = "/userfiles/images/programs/" + programName.Replace(" ", "-") + ".jpg";

        //    if (!File.Exists(Server.MapPath(fileName)))
        //        return "";

        //    return "<img width='150' height='126' alt='' src='/userfiles/images/programs/" + programName.Replace(" ", "-") + ".jpg' class='left' />";
        //}

        protected void btn_add_to_cart_Click(object sender, EventArgs e)
        {
            try
            {
                Page.Validate("AddToCartGroup");

                if (Page.IsValid)
                {
                    hccCart userCart = hccCart.GetCurrentCart();

                    //Define form variables
                    int itemId   = Convert.ToInt32(Request.Form["plan_type"]);
                    int optionId = ((Request.Form["plan_option"] == null) ? 0 : Convert.ToInt32(Request.Form["plan_option"]));

                    //Select chosen Program Plan
                    hccProgramPlan plan = hccProgramPlan.GetById(itemId);
                    if (plan == null)
                    {
                        throw new Exception("ProgramPlan not found: " + itemId.ToString());
                    }

                    hccProgram       prog   = hccProgram.GetById(plan.ProgramID);
                    hccProgramOption option = hccProgramOption.GetBy(plan.ProgramID).Where(a => a.ProgramOptionID == optionId).SingleOrDefault();

                    int      numDays      = plan.NumDaysPerWeek * plan.NumWeeks;
                    int      numMeals     = numDays * plan.MealsPerDay;
                    decimal  dailyPrice   = plan.PricePerDay + option.OptionValue;
                    decimal  itemPrice    = numDays * dailyPrice;
                    DateTime deliveryDate = DateTime.Parse(ddl_delivery_date.SelectedValue);

                    MembershipUser user = Helpers.LoggedUser;

                    hccCartItem newItem = new hccCartItem
                    {
                        CartID        = userCart.CartID,
                        CreatedBy     = (user == null ? Guid.Empty : (Guid)user.ProviderUserKey),
                        CreatedDate   = DateTime.Now,
                        IsTaxable     = plan.IsTaxEligible,
                        ItemDesc      = plan.Description,
                        NumberOfMeals = numMeals,
                        //ItemName = string.Format("{0} - {1} - {2} - {3} & {4}", (prog == null ? string.Empty : prog.Name), plan.Name, option.OptionText, deliveryDate.ToShortDateString(), numMeals),
                        ItemName             = string.Format("{0} - {1} - {2} - {3}", (prog == null ? string.Empty : prog.Name), plan.Name, option.OptionText, deliveryDate.ToShortDateString()),
                        ItemPrice            = itemPrice,
                        ItemTypeID           = (int)Enums.CartItemType.DefinedPlan,
                        Plan_IsAutoRenew     = false, //chx_renew.Checked,
                        Plan_PlanID          = itemId,
                        Plan_ProgramOptionID = optionId,
                        DeliveryDate         = deliveryDate,
                        Quantity             = int.Parse(txt_quantity.Text),
                        UserProfileID        = ((ddlProfiles.Items.Count == 0) ? 0 : Convert.ToInt32(ddlProfiles.SelectedValue)),
                        IsCompleted          = false
                    };
                    Meals obj = new Meals();
                    obj.CartID    = newItem.CartID;
                    obj.MealCount = newItem.NumberOfMeals;
                    obj.NoOfWeeks = plan.NumWeeks;

                    var ID    = obj.CartID;
                    var Meal  = obj.MealCount;
                    var Weeks = obj.NoOfWeeks;

                    HealthyChef.Templates.HealthyChef.Controls.TopHeader header =
                        (HealthyChef.Templates.HealthyChef.Controls.TopHeader) this.Page.Master.FindControl("TopHeader1");
                    if (header != null)
                    {
                        header.MealsCountVal(ID, Meal);
                    }

                    newItem.GetOrderNumber(userCart);
                    int profileId = 0;
                    if (divProfiles.Visible)
                    {
                        profileId = int.Parse(ddlProfiles.SelectedValue);
                    }
                    else
                    {
                        if (CartUserASPNetId != Guid.Empty)
                        {
                            profileId = hccUserProfile.GetParentProfileBy(CartUserASPNetId).UserProfileID;
                        }
                    }

                    if (profileId > 0)
                    {
                        newItem.UserProfileID = profileId;
                    }

                    hccCartItem existItem = hccCartItem.GetBy(userCart.CartID, newItem.ItemName, profileId);

                    if (existItem == null)
                    {
                        newItem.Save();

                        hccProductionCalendar cal;

                        for (int i = 0; i < plan.NumWeeks; i++)
                        {
                            cal = hccProductionCalendar.GetBy(newItem.DeliveryDate.AddDays(7 * i));

                            if (cal != null)
                            {
                                hccCartItemCalendar cartCal = new hccCartItemCalendar {
                                    CalendarID = cal.CalendarID, CartItemID = newItem.CartItemID
                                };
                                cartCal.Save();
                            }
                            else
                            {
                                BayshoreSolutions.WebModules.WebModulesAuditEvent.Raise(
                                    "No production calendar found for Delivery Date: " + newItem.DeliveryDate.AddDays(7 * i).ToShortDateString(), this);
                            }
                        }
                    }
                    else
                    {
                        existItem.AdjustQuantity(existItem.Quantity + newItem.Quantity);
                    }

                    //Recurring Order Record
                    if (cbxRecurring.Checked)
                    {
                        List <hccRecurringOrder> lstRo = null;
                        if (Session["autorenew"] != null)
                        {
                            lstRo = ((List <hccRecurringOrder>)Session["autorenew"]);
                        }
                        else
                        {
                            lstRo = new List <hccRecurringOrder>();
                        }

                        //var filter = cartItemsRecurring.Where(ci => ci.ItemType == Enums.CartItemType.DefinedPlan);

                        //for(var i = 0; i < int.Parse(txt_quantity.Text); i++)
                        //{
                        lstRo.Add(new hccRecurringOrder
                        {
                            CartID         = userCart.CartID,
                            CartItemID     = newItem.CartItemID,
                            UserProfileID  = newItem.UserProfileID,
                            AspNetUserID   = userCart.AspNetUserID,
                            PurchaseNumber = userCart.PurchaseNumber,
                            TotalAmount    = newItem.ItemPrice
                        });
                        Session["autorenew"] = lstRo;
                        //}
                    }

                    HealthyChef.Templates.HealthyChef.Controls.TopHeader header1 =
                        (HealthyChef.Templates.HealthyChef.Controls.TopHeader) this.Page.Master.FindControl("TopHeader1");

                    if (header1 != null)
                    {
                        header.SetCartCount();
                    }

                    //Redirect user to Program Selection screen
                    Response.Redirect("~/meal-programs.aspx");
                    //multi_programs.ActiveViewIndex = 0;
                    //litMessage.Text = "Your Meal Program has been added to your cart.";
                }
                else
                {
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        void BindDropDownLists(List <hccAllergen> userAllergens)
        {
            try
            {
                if (CurrentProgramId > 0 && CurrentCalendarId > 0)
                {
                    hccProgram            program = hccProgram.GetById(CurrentProgramId);
                    hccProductionCalendar cal     = hccProductionCalendar.GetById(CurrentCalendarId);

                    hccMenu menu = cal.GetMenu();

                    if (program != null && menu != null)
                    {
                        List <hccProgramMealType> requiredMealTypes = hccProgramMealType.GetBy(program.ProgramID)
                                                                      .Where(a => a.RequiredQuantity > 0).ToList();
                        int day = int.Parse(rdoDays.SelectedValue);

                        // Display for selected day
                        pnlDefaultMenu.CssClass += " dayPanel";
                        HtmlGenericControl pName = new HtmlGenericControl("p");
                        pName.Attributes.Add("class", "dayName label");
                        pName.InnerText = "Day " + day.ToString();
                        pnlDefaultMenu.Controls.Add(pName);
                        pnlDefaultMenu.Controls.Add(new HtmlGenericControl("hr"));

                        requiredMealTypes.ForEach(delegate(hccProgramMealType mealType)
                        {
                            HtmlGenericControl liType = new HtmlGenericControl("li");
                            liType.InnerText          = ((Enums.MealTypes)mealType.MealTypeID).ToString() + ": " + mealType.RequiredQuantity.ToString();

                            HtmlGenericControl mealTypespan = new HtmlGenericControl("span");
                            mealTypespan.InnerHtml          = "<b>" + ((Enums.MealTypes)mealType.MealTypeID).ToString() + "</b>";
                            pnlDefaultMenu.Controls.Add(mealTypespan);

                            int i = 1;
                            while (i <= mealType.RequiredQuantity)
                            {
                                // container for meanu item
                                HtmlGenericControl divItemContainer = new HtmlGenericControl("div");
                                divItemContainer.Attributes.Add("class", "divItemContainer");
                                pnlDefaultMenu.Controls.Add(divItemContainer);

                                // container for ddl
                                HtmlGenericControl divDdl = new HtmlGenericControl("div");
                                divDdl.Attributes.Add("class", "divDdl");
                                divItemContainer.Controls.Add(divDdl);

                                DropDownList ddlMealItem = new DropDownList();
                                ddlMealItem.CssClass     = "mealItemDdl";
                                ddlMealItem.Attributes.Add("calId", CurrentCalendarId.ToString());
                                ddlMealItem.Attributes.Add("progId", CurrentProgramId.ToString());
                                ddlMealItem.Attributes.Add("day", day.ToString());
                                ddlMealItem.Attributes.Add("type", mealType.MealTypeID.ToString());
                                ddlMealItem.Attributes.Add("ord", i.ToString());

                                List <hccMenuItem> menuItems = hccMenuItem.GetByMenuId(menu.MenuID)
                                                               .Where(a => a.MealTypeID == mealType.MealTypeID).OrderBy(a => a.Name).ToList();

                                List <ListItem> menuItemsWithSizes = new List <ListItem>();

                                menuItems.ForEach(delegate(hccMenuItem mainItem)
                                {
                                    hccMenuItem menuItem = hccMenuItem.GetById(mainItem.MenuItemID);
                                    bool hasAllergen     = false;
                                    ListItem lItem       = null;

                                    if (menuItem != null)
                                    {
                                        List <hccAllergen> matchAllergens    = new List <hccAllergen>();
                                        List <hccAllergen> menuItemAllergens = menuItem.GetAllergens();
                                        matchAllergens = menuItemAllergens.Intersect(userAllergens).ToList();

                                        if (matchAllergens.Count > 0)
                                        {
                                            hasAllergen = true;
                                        }
                                    }

                                    lItem = new ListItem(mainItem.Name + " : "
                                                         + Enums.CartItemSize.ChildSize.ToString(), mainItem.MenuItemID.ToString() + "-"
                                                         + ((int)Enums.CartItemSize.ChildSize).ToString());
                                    if (hasAllergen)
                                    {
                                        lItem.Attributes["class"] += " redFont";
                                    }
                                    menuItemsWithSizes.Add(lItem);

                                    lItem = new ListItem(mainItem.Name + " : "
                                                         + Enums.CartItemSize.SmallSize.ToString(), mainItem.MenuItemID.ToString() + "-"
                                                         + ((int)Enums.CartItemSize.SmallSize).ToString());
                                    if (hasAllergen)
                                    {
                                        lItem.Attributes["class"] += " redFont";
                                    }
                                    menuItemsWithSizes.Add(lItem);

                                    lItem = new ListItem(mainItem.Name + " : "
                                                         + Enums.CartItemSize.RegularSize.ToString(), mainItem.MenuItemID.ToString() + "-"
                                                         + ((int)Enums.CartItemSize.RegularSize).ToString());
                                    if (hasAllergen)
                                    {
                                        lItem.Attributes["class"] += " redFont";
                                    }
                                    menuItemsWithSizes.Add(lItem);

                                    lItem = new ListItem(mainItem.Name + " : "
                                                         + Enums.CartItemSize.LargeSize.ToString(), mainItem.MenuItemID.ToString() + "-"
                                                         + ((int)Enums.CartItemSize.LargeSize).ToString());
                                    if (hasAllergen)
                                    {
                                        lItem.Attributes["class"] += " redFont";
                                    }
                                    menuItemsWithSizes.Add(lItem);
                                });

                                ddlMealItem.DataSource     = new List <ListItem>();
                                ddlMealItem.DataTextField  = "Text";
                                ddlMealItem.DataValueField = "Value";
                                ddlMealItem.DataBind();

                                ddlMealItem.Items.AddRange(menuItemsWithSizes.ToArray());
                                ddlMealItem.Items.Insert(0, new ListItem("None", "0"));

                                divDdl.Controls.Add(ddlMealItem);

                                // container for nutrition
                                HtmlGenericControl divNuts = new HtmlGenericControl("div");
                                divNuts.Attributes.Add("class", "divNuts");
                                divItemContainer.Controls.Add(divNuts);

                                // container for allergens
                                HtmlGenericControl divAllrgs = new HtmlGenericControl("div");
                                divAllrgs.Attributes.Add("class", "divAllrgs");
                                divItemContainer.Controls.Add(divAllrgs);

                                // container for prefs
                                HtmlGenericControl divPrefs = new HtmlGenericControl("div");
                                divPrefs.Attributes.Add("class", "divPrefs");
                                divItemContainer.Controls.Add(divPrefs);

                                divItemContainer.Controls.Add(new HtmlGenericControl("p"));

                                i++;
                            }

                            pnlDefaultMenu.Controls.Add(new HtmlGenericControl("hr"));
                        });

                        if (cal.DeliveryDate < DateTime.Now)
                        {
                            pnlDefaultMenu.Enabled = false;
                            chkIsComplete.Enabled  = false;
                            //chkIsCancelled.Enabled = false;
                        }
                    }
                    else
                    {
                        if (menu == null)
                        {
                            lblFeedback.Text += "No menu has been assigned to the Production Calendar associated with the Delivery Date assigned to this item. " +
                                                "Please assign a menu to the Production Calendar and select a Default Menu for this program, prior to continuing.&nbsp;";
                            pnlDefaultMenu.Visible = false;
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        protected override void LoadForm()
        {
            try
            {
                hccProductionCalendar cal = null;

                if (Request.QueryString["dd"] != null && !string.IsNullOrEmpty(Request.QueryString["dd"]))
                {
                    DateTime _delDate = DateTime.ParseExact(Request.QueryString["dd"].ToString(), "M/dd/yyyy", System.Globalization.CultureInfo.InvariantCulture);
                    cal = hccProductionCalendar.GetBy(_delDate);
                    //cal = hccProductionCalendar.GetBy(DateTime.Parse(Request.QueryString["dd"].ToString()));

                    if (cal != null)
                    {
                        CurrentCalendarId = cal.CalendarID;
                    }

                    lkbBack.PostBackUrl += "?cal=" + cal.CalendarID.ToString();
                }

                hccProgramPlan plan    = hccProgramPlan.GetById(CurrentCartItem.Plan_PlanID.Value);
                hccProgram     program = hccProgram.GetById(plan.ProgramID);
                if (plan != null && program != null)
                {
                    CurrentProgramId = program.ProgramID;
                    CurrentNumOfDays = plan.NumDaysPerWeek;

                    // load user profile data
                    hccUserProfile profile = CurrentCartItem.UserProfile;
                    hccUserProfile parent  = hccUserProfile.GetParentProfileBy(profile.MembershipID);

                    lblCustomerName.Text = parent.FirstName + " " + parent.LastName;
                    lblProfileName.Text  = profile.ProfileName;
                    lblProgram.Text      = program.Name;
                    lblPlan.Text         = plan.Name;
                    lblPlanOption.Text   = hccProgramOption.GetById(CurrentCartItem.Plan_ProgramOptionID.Value).OptionText;
                    lblOrderNumber.Text  = CurrentCartItem.OrderNumber;
                    lblQuantity.Text     = CurrentCartItem.Quantity.ToString();
                    lblDeliveryDate.Text = cal.DeliveryDate.ToShortDateString();

                    hccCartItemCalendar cartCal = hccCartItemCalendar.GetBy(CurrentCartItem.CartItemID, cal.CalendarID);

                    if (cartCal != null)
                    {
                        chkIsComplete.Checked = cartCal.IsFulfilled;
                    }

                    chkIsCancelledDisplay.Checked = CurrentCartItem.IsCancelled;

                    lvwAllrgs.DataSource = profile.GetAllergens();
                    lvwAllrgs.DataBind();
                    ProfileNotesEdit_AllergenNote.CurrentUserProfileId = profile.UserProfileID;
                    ProfileNotesEdit_AllergenNote.Bind();

                    lvwPrefs.DataSource = profile.GetPreferences();
                    lvwPrefs.DataBind();
                    ProfileNotesEdit_PreferenceNote.CurrentUserProfileId = profile.UserProfileID;
                    ProfileNotesEdit_PreferenceNote.Bind();

                    defaultMenuSelections = hccProgramDefaultMenu.GetBy(CurrentCalendarId, CurrentProgramId);

                    days = BindWeeklyGlance(defaultMenuSelections, CurrentNumOfDays);

                    BindDdlDays(days);

                    BindForm();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
        void BindDropDownLists()
        {
            if (CurrentProgramId > 0 && CurrentCalendarId > 0)
            {
                hccProductionCalendar cal = hccProductionCalendar.GetById(CurrentCalendarId);
                hccMenu menu = cal.GetMenu();
                if (menu == null)
                {
                    lblFeedback.Text += "The selected delivery date does not have an associated menu. Please select a menu to use for the Production Calendar corresponding with this delivery date.";
                }
                else
                {
                    hccProgram program = hccProgram.GetById(CurrentProgramId);

                    if (program != null)
                    {
                        List <hccProgramMealType> mt = hccProgramMealType.GetBy(program.ProgramID);
                        List <hccProgramMealType> requiredMealTypes = mt.Where(a => a.RequiredQuantity > 0).ToList();

                        // Display for 7 days
                        for (int day = 1; day <= 7; day++)
                        {
                            Panel pnlDay = new Panel();
                            pnlDay.CssClass = "dayPanel";
                            HtmlGenericControl pName = new HtmlGenericControl("p");
                            pName.InnerHtml = "<center><b>Day " + day.ToString() + "</b></center>";
                            pnlDay.Controls.Add(pName);
                            pnlDay.Controls.Add(new HtmlGenericControl("hr"));

                            requiredMealTypes.ForEach(delegate(hccProgramMealType mealType)
                            {
                                if (day == 1) // list on the first item
                                {
                                    HtmlGenericControl liType = new HtmlGenericControl("li");
                                    liType.InnerText          = ((Enums.MealTypes)mealType.MealTypeID).ToString() + ": " + mealType.RequiredQuantity.ToString();
                                    ulReqTypes.Controls.Add(liType);

                                    HtmlGenericControl mealTypespan = new HtmlGenericControl("h4");
                                    mealTypespan.InnerHtml          = "<b>" + ((Enums.MealTypes)mealType.MealTypeID).ToString() + "</b>";
                                    pnlDay.Controls.Add(mealTypespan);
                                }
                                else
                                {
                                    HtmlGenericControl mealTypespan = new HtmlGenericControl("h4");
                                    mealTypespan.InnerHtml          = "<div>&nbsp;</div>";
                                    pnlDay.Controls.Add(mealTypespan);
                                }

                                int i = 1;
                                while (i <= mealType.RequiredQuantity)
                                {
                                    DropDownList ddlMealItem = new DropDownList();
                                    ddlMealItem.CssClass     = "mealItemDdl";
                                    ddlMealItem.Attributes.Add("calId", CurrentCalendarId.ToString());
                                    ddlMealItem.Attributes.Add("progId", CurrentProgramId.ToString());
                                    ddlMealItem.Attributes.Add("day", day.ToString());
                                    ddlMealItem.Attributes.Add("type", mealType.MealTypeID.ToString());
                                    ddlMealItem.Attributes.Add("ord", i.ToString());

                                    List <hccMenuItem> menuItems = hccMenuItem.GetByMenuId(menu.MenuID)
                                                                   .Where(a => a.MealTypeID == mealType.MealTypeID).OrderBy(a => a.Name).ToList();

                                    List <ListItem> menuItemsWithSizes = new List <ListItem>();
                                    menuItems.ForEach(delegate(hccMenuItem mainItem)
                                    {
                                        menuItemsWithSizes.Add(new ListItem(mainItem.Name + " : "
                                                                            + Enums.CartItemSize.ChildSize.ToString(), mainItem.MenuItemID.ToString() + "-" + ((int)Enums.CartItemSize.ChildSize).ToString()));

                                        menuItemsWithSizes.Add(new ListItem(mainItem.Name + " : "
                                                                            + Enums.CartItemSize.SmallSize.ToString(), mainItem.MenuItemID.ToString() + "-" + ((int)Enums.CartItemSize.SmallSize).ToString()));

                                        menuItemsWithSizes.Add(new ListItem(mainItem.Name + " : "
                                                                            + Enums.CartItemSize.RegularSize.ToString(), mainItem.MenuItemID.ToString() + "-" + ((int)Enums.CartItemSize.RegularSize).ToString()));

                                        menuItemsWithSizes.Add(new ListItem(mainItem.Name + " : "
                                                                            + Enums.CartItemSize.LargeSize.ToString(), mainItem.MenuItemID.ToString() + "-" + ((int)Enums.CartItemSize.LargeSize).ToString()));
                                    });

                                    ddlMealItem.DataSource     = menuItemsWithSizes;
                                    ddlMealItem.DataTextField  = "Text";
                                    ddlMealItem.DataValueField = "Value";
                                    ddlMealItem.DataBind();

                                    ddlMealItem.Items.Insert(0, new ListItem("None", "0"));
                                    pnlDay.Controls.Add(ddlMealItem);

                                    CheckBoxList menuitempreferencescheckBoxList = new CheckBoxList();
                                    menuitempreferencescheckBoxList.CssClass     = "mealItemchk";
                                    menuitempreferencescheckBoxList.Attributes.Add("calId", CurrentCalendarId.ToString());
                                    menuitempreferencescheckBoxList.Attributes.Add("progId", CurrentProgramId.ToString());
                                    menuitempreferencescheckBoxList.Attributes.Add("day", day.ToString());
                                    menuitempreferencescheckBoxList.Attributes.Add("type", mealType.MealTypeID.ToString());
                                    menuitempreferencescheckBoxList.Attributes.Add("ord", i.ToString());
                                    pnlDay.Controls.Add(menuitempreferencescheckBoxList);


                                    pnlDay.Controls.Add(new HtmlGenericControl("p"));
                                    i++;
                                }

                                pnlDay.Controls.Add(new HtmlGenericControl("hr"));
                            });

                            HtmlGenericControl nut = new HtmlGenericControl("div");
                            nut.ID = "divNutrition" + day.ToString();
                            nut.Attributes.Add("day", day.ToString());
                            nut.Attributes.Add("class", "nutrition" + day);
                            nut.InnerHtml = "<fieldset><legend>Calories</legend><p id='cals" + day.ToString() + "'>##Cals##</p></fieldset>" +
                                            "<fieldset><legend>Fat</legend><p id='fat" + day.ToString() + "'>##Fats##</p></fieldset>" +
                                            "<fieldset><legend>Protein</legend><p id='prtn" + day.ToString() + "'>##Ptrns##</p></fieldset>" +
                                            "<fieldset><legend>Carbohydrates</legend><p id='carb" + day.ToString() + "'>##Carbs##</p></fieldset>" +
                                            "<fieldset><legend>Dietary Fiber</legend><p id='fbr" + day.ToString() + "'>##Fbrs##</p></fieldset>" +
                                            "<fieldset><legend>Sodium</legend><p id='sod" + day.ToString() + "'>##Sod##</p></fieldset>";
                            pnlDay.Controls.Add(nut);

                            pnlDefaultMenu.Controls.Add(pnlDay);
                        }

                        if (cal.DeliveryDate < DateTime.Now)
                        {
                            pnlDefaultMenu.Enabled = true;                     //[BWE]
                            pnlDefaultMenu.Attributes.Add("class", "enabled"); //[BWE]
                        }
                        else
                        {
                            pnlDefaultMenu.Enabled = true;
                            pnlDefaultMenu.Attributes.Remove("class");
                        }
                    }
                }
            }
        }
        protected override void SaveForm()
        {
            try
            {
                hccCart        userCart = hccCart.GetById(this.PrimaryKeyIndex);
                MembershipUser user     = Membership.GetUser(userCart.AspNetUserID);

                if (user != null)
                {
                    hccProgramPlan selPlan = hccProgramPlan.GetById(int.Parse(ddlPlans.SelectedValue));

                    if (selPlan != null)
                    {
                        List <hccProgramOption> progOptions = hccProgramOption.GetBy(selPlan.ProgramID);
                        hccProgramOption        option      = progOptions.Where(a => a.ProgramOptionID == (int.Parse(ddlOptions.SelectedValue))).SingleOrDefault();
                        hccProgram prog = hccProgram.GetById(selPlan.ProgramID);

                        int     numDays    = selPlan.NumDaysPerWeek * selPlan.NumWeeks;
                        decimal dailyPrice = selPlan.PricePerDay + option.OptionValue;
                        decimal itemPrice  = numDays * dailyPrice;
                        int     profileId  = 0;
                        //bool autoRenew = chkAutoRenew.Checked;
                        string   itemFullName = string.Empty;
                        DateTime startDate    = DateTime.Parse(ddlStartDates.SelectedItem.Text);

                        itemFullName = string.Format("{0} - {1} - {2} - {3}",
                                                     prog == null ? string.Empty : prog.Name, selPlan.Name, option.OptionText, startDate.ToShortDateString());

                        if (divProfiles.Visible)
                        {
                            profileId = int.Parse(ddlProfiles.SelectedValue);
                        }
                        else
                        {
                            profileId = hccUserProfile.GetParentProfileBy(userCart.AspNetUserID.Value).UserProfileID;
                        }

                        if (userCart != null && selPlan != null)
                        {
                            int         currentQty = int.Parse(txtQuantity.Text.Trim());
                            hccCartItem existItem  = hccCartItem.GetBy(userCart.CartID, itemFullName, profileId);

                            if (existItem == null)
                            {
                                hccCartItem planItem = new hccCartItem
                                {
                                    CartID               = userCart.CartID,
                                    CreatedBy            = (Guid)Membership.GetUser().ProviderUserKey,
                                    CreatedDate          = DateTime.Now,
                                    IsTaxable            = selPlan.IsTaxEligible,
                                    ItemDesc             = selPlan.Description,
                                    ItemName             = itemFullName,
                                    ItemPrice            = itemPrice,
                                    ItemTypeID           = (int)Enums.CartItemType.DefinedPlan,
                                    Plan_IsAutoRenew     = false, //autoRenew,
                                    Plan_PlanID          = selPlan.PlanID,
                                    Plan_ProgramOptionID = option.ProgramOptionID,
                                    DeliveryDate         = startDate,
                                    UserProfileID        = profileId,
                                    Quantity             = currentQty,
                                    IsCompleted          = false
                                };

                                planItem.GetOrderNumber(userCart);
                                planItem.Save();

                                hccProductionCalendar cal;

                                for (int i = 0; i < selPlan.NumWeeks; i++)
                                {
                                    cal = hccProductionCalendar.GetBy(planItem.DeliveryDate.AddDays(7 * i));

                                    if (cal != null)
                                    {
                                        hccCartItemCalendar cartCal = new hccCartItemCalendar {
                                            CalendarID = cal.CalendarID, CartItemID = planItem.CartItemID, IsFulfilled = false
                                        };
                                        cartCal.Save();
                                    }
                                    else
                                    {
                                        BayshoreSolutions.WebModules.WebModulesAuditEvent.Raise(
                                            "No production calendar found for Delivery Date: " + planItem.DeliveryDate.AddDays(7 * i).ToShortDateString(), this);
                                    }
                                }


                                if (cbxRecurring.Checked)
                                {
                                    var cartItemsRecurring = hccCartItem.GetBy(userCart.CartID);
                                    var filter             = cartItemsRecurring.Where(ci => ci.ItemType == Enums.CartItemType.DefinedPlan);
                                    var roItem             = new hccRecurringOrder();
                                    roItem.CartID         = planItem.CartID;
                                    roItem.CartItemID     = planItem.CartItemID;
                                    roItem.UserProfileID  = planItem.UserProfileID;
                                    roItem.AspNetUserID   = userCart.AspNetUserID;
                                    roItem.PurchaseNumber = userCart.PurchaseNumber;
                                    roItem.TotalAmount    = Math.Round(Convert.ToDecimal(Convert.ToDouble(planItem.ItemPrice) - Convert.ToDouble(planItem.ItemPrice) * 0.05), 2);
                                    roItem.Save();
                                    if (planItem != null)

                                    {
                                        planItem.Plan_IsAutoRenew = true;
                                        planItem.Save();
                                    }

                                    //foreach (var recurringOrder in filter.Select(item => new hccRecurringOrder
                                    //{
                                    //    CartID = item.CartID,
                                    //    CartItemID = item.CartItemID,
                                    //    UserProfileID = item.UserProfileID,
                                    //    AspNetUserID = userCart.AspNetUserID,
                                    //    PurchaseNumber = userCart.PurchaseNumber,
                                    //    TotalAmount = userCart.TotalAmount
                                    //}))
                                    //{
                                    //    recurringOrder.Save();
                                    //}
                                }
                                OnSaved(new ControlSavedEventArgs(planItem.CartItemID));
                                cbxRecurring.Checked = false;
                            }
                            else
                            {
                                if (existItem.AdjustQuantity(existItem.Quantity + currentQty))
                                {
                                    OnSaved(new ControlSavedEventArgs(existItem.CartItemID));
                                }
                                cbxRecurring.Checked = false;
                            }
                        }
                    }
                }
                //Page.Response.Redirect(Page.Request.Url.ToString()+ "#tabs9", true);
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 20
0
        protected override void LoadForm()
        {
            try
            {
                CurrentProgram = hccProgram.GetById(this.PrimaryKeyIndex);
                if (!IsPostBack)
                {
                    if (CurrentProgram == null)
                    {
                        CurrentProgram = new hccProgram();
                    }

                    txtProgramName.Text = CurrentProgram.Name;
                    txtProgramDesc.Text = CurrentProgram.Description;

                    if (CurrentProgram.MoreInfoNavID.HasValue)
                    {
                        PagePicker1.SelectedNavigationId = CurrentProgram.MoreInfoNavID.Value;
                    }

                    if (!string.IsNullOrWhiteSpace(CurrentProgram.ImagePath))
                    {
                        ImagePicker1.ImagePath = CurrentProgram.ImagePath;
                    }

                    chkDisplayOnWebsite.Checked = CurrentProgram.DisplayOnWebsite;

                    //set req meal type vals
                    List <hccProgramMealType> mt = hccProgramMealType.GetBy(CurrentProgram.ProgramID);

                    foreach (GridViewRow row in gvwMealTypes.Rows)
                    {
                        if (row.RowType == DataControlRowType.DataRow)
                        {
                            int rowMealTypeId = int.Parse(gvwMealTypes.DataKeys[row.RowIndex].Value.ToString());

                            hccProgramMealType progMealType = mt.Where(a => a.ProgramID == this.PrimaryKeyIndex &&
                                                                       a.MealTypeID == rowMealTypeId).SingleOrDefault();

                            TextBox txtReqQuantity = (TextBox)row.FindControl("txtReqQuantity");
                            if (txtReqQuantity != null && progMealType != null)
                            {
                                txtReqQuantity.Text = progMealType.RequiredQuantity.ToString();
                            }
                        }
                    }

                    try
                    {
                        List <hccProgramOption> cr = hccProgramOption.GetBy(CurrentProgram.ProgramID);

                        if (cr != null)
                        {
                            txtCalRange1Text.Text  = cr.Single(a => a.OptionIndex == 1).OptionText;
                            txtCalRange1Value.Text = cr.Single(a => a.OptionIndex == 1).OptionValue.ToString("f2");
                            chkIsDefault1.Checked  = cr.Single(a => a.OptionIndex == 1).IsDefault;
                            txtCalRange2Text.Text  = cr.Single(a => a.OptionIndex == 2).OptionText;
                            txtCalRange2Value.Text = cr.Single(a => a.OptionIndex == 2).OptionValue.ToString("f2");
                            chkIsDefault2.Checked  = cr.Single(a => a.OptionIndex == 2).IsDefault;
                            txtCalRange3Text.Text  = cr.Single(a => a.OptionIndex == 3).OptionText;
                            txtCalRange3Value.Text = cr.Single(a => a.OptionIndex == 3).OptionValue.ToString("f2");
                            chkIsDefault3.Checked  = cr.Single(a => a.OptionIndex == 3).IsDefault;
                            txtCalRange4Text.Text  = cr.Single(a => a.OptionIndex == 4).OptionText;
                            txtCalRange4Value.Text = cr.Single(a => a.OptionIndex == 4).OptionValue.ToString("f2");
                            chkIsDefault4.Checked  = cr.Single(a => a.OptionIndex == 4).IsDefault;
                            txtCalRange5Text.Text  = cr.Single(a => a.OptionIndex == 5).OptionText;
                            txtCalRange5Value.Text = cr.Single(a => a.OptionIndex == 5).OptionValue.ToString("f2");
                            chkIsDefault5.Checked  = cr.Single(a => a.OptionIndex == 5).IsDefault;
                        }
                    }
                    catch { }

                    try
                    {
                        gvwPlans.DataSource = hccProgramPlan.GetBy(CurrentProgram.ProgramID, true);
                        gvwPlans.DataBind();
                    }
                    catch (Exception)
                    {
                        throw;
                    }

                    SetButtons();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Esempio n. 21
0
        protected override void SaveForm()
        {
            try
            {
                CurrentProgram = hccProgram.GetById(this.PrimaryKeyIndex);

                if (CurrentProgram == null)
                {
                    CurrentProgram = new hccProgram {
                        IsActive = true
                    }
                }
                ;

                CurrentProgram.Name        = txtProgramName.Text.Trim();
                CurrentProgram.Description = txtProgramDesc.Text.Trim();

                if (PagePicker1.SelectedNavigationId > 0)
                {
                    CurrentProgram.MoreInfoNavID = PagePicker1.SelectedNavigationId;
                }
                else
                {
                    CurrentProgram.MoreInfoNavID = 0;
                }

                if (!String.IsNullOrWhiteSpace(ImagePicker1.ImagePath))
                {
                    CurrentProgram.ImagePath = ImagePicker1.ImagePath;
                }

                CurrentProgram.DisplayOnWebsite = chkDisplayOnWebsite.Checked;

                if (this.PrimaryKeyIndex == 0)
                {
                    CurrentProgram.Save();
                    this.PrimaryKeyIndex = CurrentProgram.ProgramID;
                }

                //set req meal type vals
                List <hccProgramMealType> mt = hccProgramMealType.GetBy(CurrentProgram.ProgramID);

                foreach (GridViewRow row in gvwMealTypes.Rows)
                {
                    if (row.RowType == DataControlRowType.DataRow)
                    {
                        int rowMealTypeId = int.Parse(gvwMealTypes.DataKeys[row.RowIndex].Value.ToString());

                        hccProgramMealType progMealType = mt.Where(a => a.ProgramID == this.PrimaryKeyIndex &&
                                                                   a.MealTypeID == rowMealTypeId).SingleOrDefault();

                        if (progMealType == null)
                        {
                            progMealType = new hccProgramMealType {
                                ProgramID = this.PrimaryKeyIndex, MealTypeID = rowMealTypeId, RequiredQuantity = 0
                            }
                        }
                        ;

                        TextBox txtReqQuantity = (TextBox)row.FindControl("txtReqQuantity");

                        if (txtReqQuantity != null)
                        {
                            progMealType.RequiredQuantity =
                                string.IsNullOrWhiteSpace(txtReqQuantity.Text.Trim()) ? 0 : int.Parse(txtReqQuantity.Text.Trim());
                        }

                        progMealType.Save();
                    }
                }


                List <hccProgramOption> cr = hccProgramOption.GetBy(CurrentProgram.ProgramID);
                var optionValue            = 0m;
                hccProgramOption opt;
                try
                {
                    opt = cr.FirstOrDefault(x => x.OptionIndex == 1);
                    //hccProgramOption opt1 = cr.SingleOrDefault(a => a.OptionIndex == 1);
                    optionValue = txtCalRange1Value.Text.Trim() != "" ? decimal.Parse(txtCalRange1Value.Text.Trim()) : 0m;

                    if (opt == null)
                    {
                        opt = new hccProgramOption
                        {
                            OptionIndex = 1,
                            ProgramID   = CurrentProgram.ProgramID,
                            OptionText  = txtCalRange1Text.Text.Trim(),
                            OptionValue = optionValue,
                            IsDefault   = chkIsDefault1.Checked
                        };
                        //opt.Save();
                    }
                    else
                    {
                        opt.OptionIndex = 1;
                        opt.ProgramID   = CurrentProgram.ProgramID;
                        opt.OptionText  = txtCalRange1Text.Text.Trim();
                        opt.OptionValue = optionValue;
                        opt.IsDefault   = chkIsDefault1.Checked;
                    };
                    opt.Save();
                }
                catch { }

                try
                {
                    opt = cr.FirstOrDefault(x => x.OptionIndex == 2);
                    //hccProgramOption opt2 = cr.SingleOrDefault(a => a.OptionIndex == 2);
                    optionValue = txtCalRange2Value.Text.Trim() != "" ? decimal.Parse(txtCalRange2Value.Text.Trim()) : 0m;

                    if (opt == null)
                    {
                        opt = new hccProgramOption
                        {
                            OptionIndex = 2,
                            ProgramID   = CurrentProgram.ProgramID,
                            OptionText  = txtCalRange2Text.Text.Trim(),
                            OptionValue = optionValue,
                            IsDefault   = chkIsDefault2.Checked
                        };
                    }
                    else
                    {
                        opt.OptionIndex = 2;
                        opt.ProgramID   = CurrentProgram.ProgramID;
                        opt.OptionText  = txtCalRange2Text.Text.Trim();
                        opt.OptionValue = optionValue;
                        opt.IsDefault   = chkIsDefault2.Checked;
                    };
                    opt.Save();
                }
                catch { }

                try
                {
                    //hccProgramOption opt3 = cr.SingleOrDefault(a => a.OptionIndex == 3);
                    opt         = cr.FirstOrDefault(x => x.OptionIndex == 3);
                    optionValue = txtCalRange3Value.Text.Trim() != "" ? decimal.Parse(txtCalRange3Value.Text.Trim()) : 0m;
                    if (opt == null)
                    {
                        opt = new hccProgramOption
                        {
                            OptionIndex = 3,
                            ProgramID   = CurrentProgram.ProgramID,
                            OptionText  = txtCalRange3Text.Text.Trim(),
                            OptionValue = optionValue,
                            IsDefault   = chkIsDefault3.Checked
                        };
                        //opt3.Save();
                    }
                    else
                    {
                        opt.OptionIndex = 3;
                        opt.ProgramID   = CurrentProgram.ProgramID;
                        opt.OptionText  = txtCalRange3Text.Text.Trim();
                        opt.OptionValue = optionValue;
                        opt.IsDefault   = chkIsDefault3.Checked;
                    };
                    opt.Save();
                }
                catch { }

                try
                {
                    opt         = cr.FirstOrDefault(a => a.OptionIndex == 4);
                    optionValue = txtCalRange4Value.Text.Trim() != "" ? decimal.Parse(txtCalRange4Value.Text.Trim()) : 0m;
                    if (opt == null)
                    {
                        opt = new hccProgramOption
                        {
                            OptionIndex = 4,
                            ProgramID   = CurrentProgram.ProgramID,
                            OptionText  = txtCalRange4Text.Text.Trim(),
                            OptionValue = optionValue,
                            IsDefault   = chkIsDefault4.Checked
                        };
                        //opt4.Save();
                    }
                    else
                    {
                        opt.OptionIndex = 4;
                        opt.ProgramID   = CurrentProgram.ProgramID;
                        opt.OptionText  = txtCalRange4Text.Text.Trim();
                        opt.OptionValue = optionValue;
                        opt.IsDefault   = chkIsDefault4.Checked;
                    };
                    opt.Save();
                }
                catch { }

                try
                {
                    opt         = cr.FirstOrDefault(a => a.OptionIndex == 5);
                    optionValue = txtCalRange5Value.Text.Trim() != "" ? decimal.Parse(txtCalRange5Value.Text.Trim()) : 0m;
                    if (opt == null)
                    {
                        opt = new hccProgramOption
                        {
                            OptionIndex = 5,
                            ProgramID   = CurrentProgram.ProgramID,
                            OptionText  = txtCalRange5Text.Text.Trim(),
                            OptionValue = optionValue,
                            IsDefault   = chkIsDefault5.Checked
                        };
                        //opt5.Save();
                    }
                    else
                    {
                        opt.OptionIndex = 5;
                        opt.ProgramID   = CurrentProgram.ProgramID;
                        opt.OptionText  = txtCalRange5Text.Text.Trim();
                        opt.OptionValue = optionValue;
                        opt.IsDefault   = chkIsDefault5.Checked;
                    };
                    opt.Save();
                }
                catch { }

                CurrentProgram.Save();
                this.OnSaved(new ControlSavedEventArgs(CurrentProgram.ProgramID));
            }
            catch
            {
                throw;
            }
            Response.Redirect("~/WebModules/ShoppingCart/Admin/ProgramManager.aspx", false);
        }