示例#1
0
        public ActionResult GenerateMenuOne(string txtCombinationDate)
        {
            int mealNumber = int.Parse(Request.Form["ddlMealNumbers"].ToString());
            List <Combination> combinationsList = SQLProcedures.GetSavedMealCombinations();

            combinationsList.Sort((x, y) => x.NumberOfMeals.CompareTo(y.NumberOfMeals));

            ViewBag.Combinations = new SelectList(combinationsList, "NumberOfMeals", "NumberOfMeals", mealNumber);

            if (txtCombinationDate != string.Empty)
            {
                DateTime combinationDate = DateTime.Parse(txtCombinationDate);
                ViewBag.CombinationDate = txtCombinationDate;

                if (!SQLProcedures.CheckSavedMenuForDate(Session["username"].ToString(), combinationDate))
                {
                    Session["mealNumber"]       = int.Parse(Request.Form["ddlMealNumbers"].ToString());
                    Session["selectedCombDate"] = txtCombinationDate;
                    return(GenerateMenuTwo());
                }
                else
                {
                    ViewBag.ShowError    = true;
                    ViewBag.ErrorMessage = "Jelovnik za odabrani datum već postoji!";
                    return(View());
                }
            }
            else
            {
                ViewBag.ShowError    = true;
                ViewBag.ErrorMessage = "Odaberite datum!";
                return(View());
            }
        }
示例#2
0
        /// <summary>
        /// 自动形成条件和赋值
        /// </summary>
        /// <typeparam name="TEnty"></typeparam>
        /// <param name="tablename">物理表</param>
        /// <param name="keyfield">字段值</param>
        /// <param name="pageindex">分页索引</param>
        /// <param name="pagesize">分页大小</param>
        /// <param name="wList">参数和条件列表</param>
        /// <param name="strorder"></param>
        /// <param name="sqlCol">SQL列</param>
        /// <param name="fieldlist"></param>
        /// <param name="total">总数</param>
        /// <returns></returns>
        protected IList <TEnty> GetListByPage <TEnty>(string procedure, string tablename, string PrimaryKey, string Sort, int CurrentPage, int pagesize, string Fields, string Filter, string Group, string fieldlist, out int total) where TEnty : new()
        {
            string[] Params = new string[8] {
                tablename, PrimaryKey, Sort, CurrentPage.ToString(), pagesize.ToString(), Fields, Filter, Group
            };
            LogInfo(procedure);
            DbCommand dbCommand = db.GetSqlStringCommand(procedure);

            dbCommand.CommandType = CommandType.StoredProcedure;
            dbCommand.Parameters.AddRange(SQLProcedures.GetParameter(procedure, Params));
            IList <TEnty> infoList = new List <TEnty>();

            using (IDataReader dataReader = db.ExecuteReader(dbCommand))
            {
                Dictionary <string, string> cachUserNameMaping = new Dictionary <string, string>();
                while (dataReader.Read())
                {
                    TEnty info = new TEnty();
                    GetEnty <TEnty>(dataReader, fieldlist.Replace("[", "").Replace("]", "").Replace("\r\n", ""), ref info, cachUserNameMaping);
                    infoList.Add(info);
                }
            }
            total = infoList.Count;
            return(infoList);
        }
示例#3
0
        public ActionResult SavedFutureMenus()
        {
            List <Menu> menuList = SQLProcedures.GetSavedFutureMenus(Session["username"].ToString());

            Session["menuAction"] = "SavedFutureMenus";
            return(View("Menus", menuList));
        }
        protected void btnFilter_Click(object sender, EventArgs e)
        {
            filteredFoodsList.Clear();

            foodsList         = SQLProcedures.GetFood();
            filteredFoodsList = foodsList.ToList();

            if (cblFoodType.Items.OfType <ListItem>().Any(i => i.Selected))
            {
                foreach (ListItem item in cblFoodType.Items)
                {
                    if (!item.Selected)
                    {
                        foreach (Food f in foodsList)
                        {
                            if (f.Type == item.Text)
                            {
                                filteredFoodsList.Remove(f);
                            }
                        }
                    }
                }
            }

            gvFoods.DataSource = filteredFoodsList;
            gvFoods.DataBind();
        }
        public ActionResult Edit(User user)
        {
            sexList           = SQLProcedures.GetSexes();
            activityLevelList = SQLProcedures.GetActivityLevels();
            diabetesTypesList = new List <int> {
                1, 2
            };

            if (ModelState.IsValid)
            {
                int activityLevelID = SQLProcedures.GetActivityLevelID(Request.Form["ddlActivityLevel"].ToString());

                SQLProcedures.UpdateUser(user, activityLevelID, Session["username"].ToString());

                return(RedirectToAction("ViewInfo", "MyProfile"));
            }

            User u = SQLProcedures.GetUser(Session["username"].ToString());

            sexList       = SQLProcedures.GetSexes();
            ViewBag.Sexes = new SelectList(sexList, sexList.Find(s => s.Equals(user.Sex)));

            activityLevelList      = SQLProcedures.GetActivityLevels();
            ViewBag.ActivityLevels = new SelectList(activityLevelList, activityLevelList.Find(al => SQLProcedures.GetActivityLevelID(al).Equals(user.ActivityLevel)));

            diabetesTypesList = new List <int> {
                1, 2
            };
            ViewBag.DiabetesTypes = new SelectList(diabetesTypesList, diabetesTypesList.Find(dt => dt.Equals(user.DiabetesType)));
            return(View(user));
        }
示例#6
0
        //enables usage of data in the selected row
        protected void btnOmoguci_Click(object sender, EventArgs e)
        {
            Button btn      = sender as Button;
            int    rowIndex = 0;

            if (int.TryParse((string)btn.CommandArgument, out rowIndex))
            {
                rowIndex -= 1;
                MeasuringUnit mu = measuringUnitsList.ElementAt(rowIndex);
                rowIndex %= gvMeasuringUnits.PageSize;
                if (!mu.IsValid)
                {
                    mu.IsValid = true;
                    SQLProcedures.EnableDisableMeasuringUnit(mu);
                    gvMeasuringUnits.Rows[rowIndex].FindControl("btnUredi").Visible     = true;
                    gvMeasuringUnits.Rows[rowIndex].FindControl("btnOnemoguci").Visible = true;

                    gvMeasuringUnits.Rows[rowIndex].FindControl("btnOmoguci").Visible = false;
                }
            }
            else
            {
                throw new Exception();
            }
        }
        private void FillDropDownList()
        {
            if (mealsList == null)
            {
                mealsList = new List <Meal>();
            }

            mealsList = SQLProcedures.GetMeals();

            List <string> numberList;

            if (mealsList.Count > 8)
            {
                numberList = new List <string>(mealNumberList);
                ddlBrojObroka.DataSource = numberList;
                ddlBrojObroka.DataBind();
            }
            else
            {
                int availableMeals = mealsList.Count(m => m.IsValid == true);
                numberList = new List <string>();
                for (int i = 0; i < availableMeals + 1; i++)
                {
                    numberList.Add(mealNumberList[i]);
                }
                ddlBrojObroka.DataSource = numberList;
                ddlBrojObroka.DataBind();
            }
        }
        private bool CheckRatioSums(int combID)
        {
            int mealRatioSum  = 0;
            int totalRatioSum = 0;

            for (int i = 0; i < newMealRatiosList.Count; i++)
            {
                MealRatio ratio = newMealRatiosList[i];
                mealRatioSum = ratio.FatPortion + ratio.CarbPortion + ratio.ProteinPortion;
                if (mealRatioSum != 100)
                {
                    lblError.Text = $"Omjer namirnica za obrok {ratio.Meal.Name} nije pravilan";
                    SQLProcedures.DeleteCombination(combID);
                    return(false);
                }
                totalRatioSum += ratio.TotalPortion;
            }

            if (totalRatioSum != 100)
            {
                lblError.Text = $"Omjer obroka za kombinaciju nije pravilan";
                SQLProcedures.DeleteCombination(combID);
                return(false);
            }

            return(true);
        }
        protected void btnOnemoguci_Click(object sender, EventArgs e)
        {
            int selectedNumberOfMeals = int.Parse(ddlBrojObroka.SelectedValue);

            SQLProcedures.DisableCombination(selectedNumberOfMeals);
            Response.Redirect("Combinations.aspx");
        }
示例#10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Request.QueryString["id"] != null)
                {
                    FoodTableBind();
                    Food f = SQLProcedures.GetFoodForID(int.Parse(Request.QueryString["id"]));
                    txtNazivNamirnice.Text = f.Name;
                    foodName = f.Name;

                    rblOdaberiTipNamirnice.SelectedValue = SQLProcedures.GetTypeForFood(int.Parse(Request.QueryString["id"]));

                    unitsWithKcal = SQLProcedures.GetMeasuringUnitsForFoodID(int.Parse(Request.QueryString["id"]));
                    oldUnits      = new Dictionary <string, int>(unitsWithKcal);

                    unitsWithKcalList = new List <string>();
                    foreach (var unit in unitsWithKcal)
                    {
                        unitsWithKcalList.Add($"{unit.Key}({unit.Value})");
                        ListItem matchedItem = lbDostupneJedinice.Items.FindByText(unit.Key);
                        lbDostupneJedinice.Items.Remove(matchedItem);
                    }
                    lbDodaneJedinice.DataSource = unitsWithKcalList;
                    lbDodaneJedinice.DataBind();
                }
                else
                {
                    FoodTableBind();
                }
            }
        }
示例#11
0
        public ActionResult ViewMenuMeals(int id)
        {
            List <MenuMealData> menuMealsList = SQLProcedures.GetMealDataForMenu(id);

            ViewBag.Action = Session["menuAction"].ToString();
            return(View(menuMealsList));
        }
示例#12
0
        public JsonResult GetProcedureID(string name, string schemaName)
        {
            IGumruk iGumruk = new BSGumruk();

            SQLProcedures proc = iGumruk.GetProcedureByNameSchemaName(name, schemaName);

            return(Json(proc, JsonRequestBehavior.AllowGet));
        }
示例#13
0
        public JsonResult GetProcedureByID(int id, string TXT)
        {
            IGumruk iGumruk = new BSGumruk();

            SQLProcedures pros = iGumruk.GetSQLProcedure(id);

            return(Json(pros, JsonRequestBehavior.AllowGet));
        }
        //disables/enables usage of data in the selected row
        protected void btnOnemoguci_Click(object sender, EventArgs e)
        {
            Button btn = sender as Button;
            int    id  = int.Parse(btn.CommandArgument);

            SQLProcedures.EnableDisableFood(id);
            Response.Redirect("Foods.aspx");
        }
示例#15
0
        ////confirm edit
        protected void btnUrediOK_Click(object sender, EventArgs e)
        {
            Button btn      = sender as Button;
            int    rowIndex = 0;
            int    itemId   = 0;

            if (int.TryParse((string)btn.CommandArgument, out rowIndex))
            {
                itemId    = rowIndex;
                rowIndex -= 1;
                rowIndex %= gvMeasuringUnits.PageSize;
                string naziv = (gvMeasuringUnits.Rows[rowIndex].FindControl("txtNaziv") as TextBox).Text;
                if (!string.IsNullOrEmpty(naziv) && !measuringUnitsList.Any(mu => mu.Name.ToLower() == naziv.ToLower()))
                {
                    (gvMeasuringUnits.Rows[rowIndex].FindControl("lblNaziv") as Label).Text = (gvMeasuringUnits.Rows[rowIndex].FindControl("txtNaziv") as TextBox).Text;
                    MeasuringUnit mu = new MeasuringUnit
                    {
                        IDMeasuringUnit = itemId,
                        Name            = (gvMeasuringUnits.Rows[rowIndex].FindControl("txtNaziv") as TextBox).Text
                    };
                    if (SQLProcedures.UpdateMeasuringUnit(mu) > 0)
                    {
                        gvMeasuringUnits.Rows[rowIndex].FindControl("lblNaziv").Visible     = true;
                        gvMeasuringUnits.Rows[rowIndex].FindControl("btnOnemoguci").Visible = true;
                        gvMeasuringUnits.Rows[rowIndex].FindControl("btnUredi").Visible     = true;

                        gvMeasuringUnits.Rows[rowIndex].FindControl("txtNaziv").Visible   = false;
                        gvMeasuringUnits.Rows[rowIndex].FindControl("btnUrediOK").Visible = false;
                        gvMeasuringUnits.Rows[rowIndex].FindControl("btnUrediX").Visible  = false;
                        lblInsertError.Text = "";
                        GridViewMeasuringUnitsBind();
                    }
                }
                else if (naziv == (gvMeasuringUnits.Rows[rowIndex].FindControl("lblNaziv") as Label).Text)
                {
                    gvMeasuringUnits.Rows[rowIndex].FindControl("lblNaziv").Visible     = true;
                    gvMeasuringUnits.Rows[rowIndex].FindControl("btnOnemoguci").Visible = true;
                    gvMeasuringUnits.Rows[rowIndex].FindControl("btnUredi").Visible     = true;

                    gvMeasuringUnits.Rows[rowIndex].FindControl("txtNaziv").Visible   = false;
                    gvMeasuringUnits.Rows[rowIndex].FindControl("btnUrediOK").Visible = false;
                    gvMeasuringUnits.Rows[rowIndex].FindControl("btnUrediX").Visible  = false;
                    GridViewMeasuringUnitsBind();
                    lblInsertError.Text = "";
                }
                else
                {
                    txtNoviNaziv.Text = "";
                    txtNoviNaziv.Focus();
                    lblInsertError.Text = "Naziv nije unesen ili već postoji u bazi!";
                }
            }
            else
            {
                throw new Exception();
            }
        }
示例#16
0
        public ActionResult GenerateMenuOne()
        {
            List <Combination> combinationsList = SQLProcedures.GetSavedMealCombinations();

            combinationsList.Sort((x, y) => x.NumberOfMeals.CompareTo(y.NumberOfMeals));

            ViewBag.ShowError    = false;
            ViewBag.Combinations = new SelectList(combinationsList, "NumberOfMeals", "NumberOfMeals");
            return(View());
        }
 protected List <string> GetMeasuringUnitsWithKcal(int id)
 {
     unitsWithKcal     = SQLProcedures.GetMeasuringUnitsForFoodID(id);
     unitsWithKcalList = new List <string>();
     foreach (var unit in unitsWithKcal)
     {
         unitsWithKcalList.Add($"{unit.Key}({unit.Value})");
     }
     return(unitsWithKcalList);
 }
示例#18
0
        private void FoodTableBind()
        {
            foodsList     = new List <Food>();
            unitsWithKcal = new Dictionary <string, int>();

            lbDostupneJedinice.DataSource     = measuringUnitsList = SQLProcedures.GetMeasuringUnits();
            lbDostupneJedinice.DataTextField  = "Name";
            lbDostupneJedinice.DataValueField = "IDMeasuringUnit";
            lbDostupneJedinice.DataBind();
        }
 private void AddNewMealRatios(int combID)
 {
     if (CheckRatioSums(combID))
     {
         foreach (MealRatio ratio in newMealRatiosList)
         {
             SQLProcedures.InsertMealRatioForCombination(ratio.Meal.IDMeal, ratio.FatPortion, ratio.CarbPortion, ratio.ProteinPortion, ratio.TotalPortion, combID);
         }
         Response.Redirect("Combinations.aspx");
     }
 }
示例#20
0
        public JsonResult SaveFormattedSQL(int ID, string sql, string schemaID)
        {
            IGumruk       iGumruk = new BSGumruk();
            SQLProcedures sqlPro  = new SQLProcedures()
            {
                formattedBody = sql,
                ID            = ID
            };

            sqlPro = iGumruk.SaveSQlProcedures(sqlPro, schemaID);

            return(Json(sqlPro, JsonRequestBehavior.AllowGet));
        }
示例#21
0
        public JsonResult UpdateSQLText(int ID, string sqlText)
        {
            IGumruk       iGumruk = new BSGumruk();
            SQLProcedures pros    = new SQLProcedures()
            {
                ID      = ID,
                sqlText = sqlText
            };

            pros = iGumruk.UpdateSQLText(pros);

            return(Json(pros, JsonRequestBehavior.AllowGet));
        }
 public ActionResult UserLogin(string username, string password)
 {
     if (SQLProcedures.CheckLoginCredentials(username, password))
     {
         Session["username"] = username;
         return(RedirectToAction("Index", "MainPage"));
     }
     else
     {
         ViewBag.ErrorMessage = true;
         return(View());
     }
 }
示例#23
0
        public ActionResult Registration()
        {
            sexList       = SQLProcedures.GetSexes();
            ViewBag.Sexes = new SelectList(sexList);

            activityLevelList      = SQLProcedures.GetActivityLevels();
            ViewBag.ActivityLevels = new SelectList(activityLevelList);

            diabetesTypesList = new List <int> {
                1, 2
            };
            ViewBag.DiabetesTypes = new SelectList(diabetesTypesList);

            ViewBag.ShowError = false;
            return(View());
        }
        public ActionResult Edit()
        {
            User user = SQLProcedures.GetUser(Session["username"].ToString());

            sexList       = SQLProcedures.GetSexes();
            ViewBag.Sexes = new SelectList(sexList, sexList.Find(s => s.Equals(user.Sex)));

            activityLevelList      = SQLProcedures.GetActivityLevels();
            ViewBag.ActivityLevels = new SelectList(activityLevelList, activityLevelList.Find(al => SQLProcedures.GetActivityLevelID(al).Equals(user.ActivityLevel)));

            diabetesTypesList = new List <int> {
                1, 2
            };
            ViewBag.DiabetesTypes = new SelectList(diabetesTypesList, diabetesTypesList.Find(dt => dt.Equals(user.DiabetesType)));

            return(View(user));
        }
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            string username = txtUsername.Text;
            string password = txtPassword.Text;

            if (SQLProcedures.CheckIfAdmin(username, password))
            {
                lblIncorrectLogin.Visible = false;
                Response.Redirect("MainPage.aspx");
            }
            else
            {
                txtUsername.Text = string.Empty;
                txtUsername.Focus();
                lblIncorrectLogin.Visible = true;
            }
        }
        //loading data for each row
        private void GridViewFoodBind()
        {
            try
            {
                foodsList          = SQLProcedures.GetFood();
                gvFoods.DataSource = foodsList;
                gvFoods.DataBind();
                gvFoods.PagerSettings.FirstPageText = "<<";
                gvFoods.PagerSettings.LastPageText  = ">>";
                gvFoods.DataBind();

                lblError.Text = string.Empty;
            }
            catch (Exception ex)
            {
                lblError.Text = ex.Message;
            }
        }
示例#27
0
        public ActionResult GenerateMenuTwo(string submitButton, string txtCombinationDate)
        {
            if (submitButton == "Generiraj novi")
            {
                return(GenerateMenuTwo());
            }

            if (txtCombinationDate != string.Empty)
            {
                DateTime combinationDate = DateTime.Parse(txtCombinationDate);
                ViewBag.CombinationDate = txtCombinationDate;

                if (!SQLProcedures.CheckSavedMenuForDate(Session["username"].ToString(), combinationDate))
                {
                    User        user        = SQLProcedures.GetUser(Session["username"].ToString());
                    Combination combination = SQLProcedures.GetSavedCombination(int.Parse(Session["mealNumber"].ToString()));
                    double      totalKcal   = CalculateTotalKcal();

                    int menuID = SQLProcedures.InsertMenu(user.IDUser, combination.IDCombination, combinationDate, totalKcal);

                    List <MenuMealData> menuMealsList = (List <MenuMealData>)Session["menuMealsList"];
                    foreach (MenuMealData meal in menuMealsList)
                    {
                        SQLProcedures.InsertMealDataForMenu(menuID, meal.MealName, meal.CarbName, meal.CarbUnits, meal.FatName, meal.FatUnits, meal.ProteinName, meal.ProteinUnits);
                    }

                    Session["menuMealList"] = null;
                    return(RedirectToAction("GenerateMenuOne"));
                }
                else
                {
                    ViewBag.ShowError = true;
                    ViewBag.ErrorMsg  = "Jelovnik za odabrani datum već postoji!";
                    return(View());
                }
            }
            else
            {
                ViewBag.ShowError    = true;
                ViewBag.ErrorMessage = "Odaberite datum!";
                return(View());
            }
        }
示例#28
0
        private double CalculateTotalKcal()
        {
            double totalKcal;
            User   user = SQLProcedures.GetUser(Session["username"].ToString());

            //get user age
            DateTime today   = DateTime.Today;
            var      userAge = today.Year - user.DateOfBirth.Year;

            if (user.DateOfBirth.Date > today.AddYears(-userAge))
            {
                userAge--;
            }

            //get user sex
            int genderFactor = user.Sex == "M" ? 5 : -161;

            //get user activity
            double activityFactor = 0;

            switch (user.ActivityLevel)
            {
            case 1:
                activityFactor = 1.2;
                break;

            case 2:
                activityFactor = 1.375;
                break;

            case 3:
                activityFactor = 1.5;
                break;
            }

            //get user diabetes type
            double diabetesTypeFactor = user.DiabetesType == 1 ? 0.99 : 0.98;

            totalKcal = ((10 * user.Weight) + (6.25 * user.Height) - (5 * userAge) + genderFactor) * activityFactor * diabetesTypeFactor;

            return(Math.Round(totalKcal, 2));
        }
        private void GridViewUsersBind()
        {
            try
            {
                usersList          = SQLProcedures.GetUsers();
                gvUsers.DataSource = usersList;
                gvUsers.DataBind();
                gvUsers.PagerSettings.FirstPageText    = "<<";
                gvUsers.PagerSettings.PreviousPageText = "<";
                gvUsers.PagerSettings.NextPageText     = ">";
                gvUsers.PagerSettings.LastPageText     = ">>";
                gvUsers.DataBind();

                lblError.Text = string.Empty;
            }
            catch (Exception ex)
            {
                lblError.Text = ex.Message;
            }
        }
 private void FillObrociDDL()
 {
     mealsList = SQLProcedures.GetMeals();
     for (int i = 0; i < gvCombinations.Rows.Count; i++)
     {
         DropDownList ddl = gvCombinations.Rows[i].FindControl("ddlObroci") as DropDownList;
         HiddenField  hf  = gvCombinations.Rows[i].FindControl("hfIDObrok") as HiddenField;
         ddl.DataSource     = mealsList;
         ddl.DataTextField  = "Name";
         ddl.DataValueField = "IDMeal";
         if (string.IsNullOrEmpty(txtStartDate.Text))
         {
             ddl.SelectedIndex = mealsList.FindIndex(m => m.IDMeal == (i + 1));
         }
         else
         {
             ddl.SelectedIndex = mealsList.FindIndex(m => m.IDMeal == int.Parse(hf.Value));
         }
         ddl.DataBind();
     }
 }