public async Task <FoodSchedule> EditAsync(FoodSchedule foodSchedule)
        {
            _context.FoodSchedules.Update(foodSchedule);
            await _context.SaveChangesAsync();

            return(foodSchedule);
        }
示例#2
0
        public async Task AddAsync(FoodSchedule foodSchedule, IEnumerable <MedicineSchedule> medicineSchedules)
        {
            List <FoodSchedule>   foodSchedules = new List <FoodSchedule>();
            List <DateTimeOffset> dates         = new List <DateTimeOffset>();

            foreach (MedicineSchedule medSched in medicineSchedules)
            {
                DateTimeOffset currentDate = new DateTimeOffset(medSched.StartDate.Year, medSched.StartDate.Month, medSched.StartDate.Day,
                                                                foodSchedule.TimeOfFirstMeal.Hour, foodSchedule.TimeOfFirstMeal.Minute, foodSchedule.TimeOfFirstMeal.Second,
                                                                new TimeSpan(0, 0, 0));
                for (DateTimeOffset date = currentDate; date.Date <= medSched.EndDate.Date; date = date.AddDays(1))
                {
                    foodSchedules.Add(new FoodSchedule
                    {
                        MedicineScheduleId = medSched.Id,
                        TimeOfFirstMeal    = date,
                        NumberOfMeals      = foodSchedule.NumberOfMeals,
                        Date = date
                    });
                    dates.Add(date);
                }
            }
            IEnumerable <FoodSchedule> newFoodSchedules = await _foodScheduleRepo.AddAsync(foodSchedules);

            await EditAllForDates(dates, medicineSchedules.First().UserId, foodSchedule, newFoodSchedules);
        }
示例#3
0
 /// <summary>
 /// MarchSandpiper constructor, passed to it is the property values
 /// This constructor calls the bird constructor (as a MarchSandpiper is a bird)
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="age">Age</param>
 /// <param name="gender">Gender</param>
 /// <param name="typeOfBird">As marchsandpiper is a bird, type of bird needs to be passed</param>
 /// <param name="wingSpan">This is a marchsandpiper property</param>
 /// <param name="plumage">This is a marchsandpiper property</param>
 public MarchSandpiper(string name, int age, Gender gender, BirdType typeOfBird, int wingSpan, Plumage plumage) : base(name, age, gender, typeOfBird)
 {
     foodSchedule = new FoodSchedule();
     foodSchedule.Add("One insect for once a week.");
     WingSpan = wingSpan;
     Plumage  = plumage;
 }
示例#4
0
 /// <summary>
 /// WoodPecker constructor, passed to it is the property values
 /// This constructor calls the bird constructor (as a WoodPecker is a bird)
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="age">Age</param>
 /// <param name="gender">Gender</param>
 /// <param name="typeOfBird">As marchsandpiper is a bird, type of bird needs to be passed</param>
 /// <param name="typeOfBeak">This is a marchsandpiper property</param>
 public WoodPecker(string name, int age, Gender gender, BirdType typeOfBird, BeakType typeOfBeak) : base(name, age, gender, typeOfBird)
 {
     foodSchedule = new FoodSchedule();
     foodSchedule.Add("Tree insects once a day.");
     foodSchedule.Add("Tree liters of water once a week");
     TypeOfBeak = typeOfBeak;
 }
示例#5
0
 /// <summary>
 /// GoldenRetriever constructor, passed to it is the property values
 /// This constructor calls the dog constructor (as a GoldenRetriever is a dog)
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="age">Age</param>
 /// <param name="gender">Gender</param>
 /// <param name="numberOfTeeth">As a goldenretriever is a dog number of teeth needs to be passed</param>
 /// <param name="numberOfLegs">As a goldenretriever is a dog number of legs needs to be passed</param>
 /// <param name="teilLength">As a goldenretriever is a dog teil length needs to be passed</param>
 /// <param name="furType">This is a property of goldenretriever</param>
 public GoldenRetriever(string name, int age, Gender gender, int numberOfTeeth, int numberOfLegs, int teilLength, string furType) : base(name, age, gender, numberOfTeeth, numberOfLegs, teilLength)
 {
     foodSchedule = new FoodSchedule();
     foodSchedule.Add("Fry one a day for three times a day.");
     foodSchedule.Add("Drink when nesessary.");
     FurType = furType;
 }
        public Result GetUserFoodDetails(FoodSchedule foodSchedule)
        {
            Result result = new Result();

            try
            {
                var valuedate = db.Foodschedule.Where(t => t.F_userid == foodSchedule.F_userid && t.f_date.Value.Date == foodSchedule.f_date.Value.Date).ToList();

                if (valuedate != null)
                {
                    if (valuedate.Count == 0)
                    {
                        result.Message = "NotExist";
                    }
                    else
                    {
                        result.Message = "Exist";
                    }
                }
                else
                {
                    result.Message = "null";
                }
            }
            catch (Exception ex)
            {
                result.Message = ex.InnerException.ToString();
            }
            return(result);
        }
        public void Iterate_over_foods()
        {
            // Setup
            List <string> foods = new List <string>
            {
                "one",
                "two"
            };
            var foodSchedule = new FoodSchedule(foods);

            List <string> cpy = new List <string>();

            // Exercise
            foreach (var f in foodSchedule)
            {
                cpy.Add(f);
            }

            // Verify
            Assert.AreEqual(foods.Count, cpy.Count);
            for (var i = 0; i < foods.Count; i++)
            {
                Assert.AreEqual(foods[i], cpy[i]);
            }
        }
示例#8
0
        private bool CreateFoodScheduleInfo()
        {
            objFoodSchedule    = new FoodSchedule();
            objFoodScheduleBiz = new FoodScheduleBiz();

            objFoodSchedule.FoodScheduleName    = txtFoodScheduleName.Text.Trim();
            objFoodSchedule.ScheduleDescription = txtFoodScheduleDescription.Text.Trim();
            objFoodSchedule.CreatedBy           = Convert.ToInt16(Session["UserId"].ToString());
            MessageBox(objFoodScheduleBiz.CreateFoodScheduleInfo(objFoodSchedule));
            return(true);
        }
示例#9
0
        public async Task DeleteAsync(Guid id)
        {
            FoodSchedule foodSchedule = await _foodScheduleRepo.GetByIdAsync(id);

            if (foodSchedule == null)
            {
                throw new ApiException("Food schedule not found!");
            }

            await _foodScheduleRepo.DeleteAsync(foodSchedule);
        }
 public void Get_item()
 {
     // Setup
     var foods = new List<string>();
     foods.Add("one");
     foods.Add("two");
     var foodSchedule = new FoodSchedule(foods);
     
     // Exercise
     Assert.AreEqual("two", foodSchedule.GetFoodItem(1));
     Assert.AreEqual("one", foodSchedule.GetFoodItem(0));
 }
 public void List_constructor()
 {
     // setup
     var foods = new List<string>();
     foods.Add("one");
     foods.Add("two");
     
     // Exercise
     var foodSchedule = new FoodSchedule(foods);
     
     // Verify
     Assert.AreEqual(2, foodSchedule.Count);
 }
示例#12
0
        private void GridViewBindFoodScheduleInfo()
        {
            objFoodSchedule    = new FoodSchedule();
            objFoodScheduleBiz = new FoodScheduleBiz();
            DataTable dtFoodSchedule = new DataTable();

            dtFoodSchedule = objFoodScheduleBiz.GetFoodScheduleListForGv(txtFoodScheduleName.Text.Trim());
            gvDisplayFoodSchedule.DataSource = dtFoodSchedule;
            gvDisplayFoodSchedule.DataBind();
            gvDisplayFoodSchedule.ShowHeaderWhenEmpty           = true;
            gvDisplayFoodSchedule.EmptyDataText                 = "No Data Found";
            gvDisplayFoodSchedule.AlternatingRowStyle.BackColor = System.Drawing.Color.AliceBlue;
            gvDisplayFoodSchedule.SelectedRowStyle.BackColor    = System.Drawing.Color.DarkKhaki;
        }
示例#13
0
        public Result CheckUserFoodDetails(FoodSchedule foodSchedule)
        {
            User   user   = getCurrentUser();
            Result result = new Result();

            if (user == null)
            {
                result.Message = "session timeout !!!";
            }
            else
            {
                result = ifoodschedule.GetUserFoodDetails(foodSchedule);
            }
            return(result);
        }
示例#14
0
        private bool EditFoodScheduleInfo()
        {
            objFoodSchedule    = new FoodSchedule();
            objFoodScheduleBiz = new FoodScheduleBiz();
            GridViewRow row = gvDisplayFoodSchedule.SelectedRow;

            objFoodSchedule.FoodScheduleId      = Convert.ToByte(gvDisplayFoodSchedule.DataKeys[row.RowIndex].Values[0].ToString());
            objFoodSchedule.FoodScheduleName    = txtUpdateFoodScheduleName.Text.Trim();
            objFoodSchedule.ScheduleDescription = txtUpdateFoodScheduleDescription.Text.Trim();
            objFoodSchedule.IsActive            = ddlUpdateFoodScheduleStatus.SelectedValue == "1";
            objFoodSchedule.UpdatedBy           = Convert.ToInt16(Session["UserId"]);

            objFoodScheduleBiz.UpdateFoodScheduleInfo(objFoodSchedule);
            return(true);
        }
示例#15
0
        public string CreateFoodScheduleInfo(FoodSchedule objFoodSchedule)
        {
            int noOfAffacted = 0;

            objDataAccess = DataAccess.NewDataAccess();
            objDbCommand  = objDataAccess.GetCommand(true, IsolationLevel.Serializable);
            objDbCommand.AddInParameter("FoodScheduleName", objFoodSchedule.FoodScheduleName);
            objDbCommand.AddInParameter("ScheduleDescription", objFoodSchedule.ScheduleDescription);
            objDbCommand.AddInParameter("CreatedByUserId", objFoodSchedule.CreatedBy);
            SqlParameter retval = new SqlParameter("return", SqlDbType.Bit);

            retval.Direction = ParameterDirection.ReturnValue;
            objDbCommand.Parameters.Add(retval);

            try
            {
                objDataAccess.ExecuteNonQuery(objDbCommand, "[rdb].[uspCreateFoodScheduleInfo]",
                                              CommandType.StoredProcedure);

                byte spreturnvalue = Convert.ToByte(retval.Value);

                if (spreturnvalue == 1)
                {
                    objDbCommand.Transaction.Commit();
                    return("Save Successful");
                }
                else if (spreturnvalue == 0)
                {
                    objDbCommand.Transaction.Rollback();
                    return("Already Exists!");
                }
                else
                {
                    objDbCommand.Transaction.Rollback();
                    return("Save Failed");
                }
            }
            catch (Exception ex)
            {
                objDbCommand.Transaction.Rollback();
                throw new Exception("Database Error Occured", ex);
            }
            finally
            {
                objDataAccess.Dispose(objDbCommand);
            }
        }
        public Result AddFoodSchedules(FoodSchedule foodSchedule)
        {
            Result result = new Result();

            try
            {
                db.Foodschedule.Add(foodSchedule);
                db.SaveChanges();
                result.Message = "Success";
            }
            catch (Exception ex)
            {
                result.Message = ex.InnerException.ToString();
            }

            return(result);
        }
        public async Task <ActionResult> MakeDefault([FromBody] FoodScheduleEditDto foodScheduleDto)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Guid         userId       = User.GetUserId();
                    FoodSchedule foodSchedule = _mapper.Map <FoodSchedule>(foodScheduleDto);

                    await _foodScheduleService.EditAllBasedOnFoodScheduleAsync(foodSchedule, userId);

                    return(NoContent());
                }
                catch (ApiException ex)
                {
                    return(StatusCode(ex.StatusCode, new { error = true, message = ex.Message }));
                }
            }
            return(BadRequest());
        }
示例#18
0
        public async Task EditAllBasedOnMedicineScheduleAsync(MedicineSchedule medicineSchedule)
        {
            IEnumerable <FoodSchedule> foodSchedules = await _foodScheduleRepo.GetAllByMedicineScheduleIdAsync(medicineSchedule.Id);

            if (!foodSchedules.Any())
            {
                throw new ApiException("Food schedules not found!");
            }

            FoodSchedule foodScheduleFirst = foodSchedules.FirstOrDefault();

            await _foodScheduleRepo.DeleteAllAsync(foodSchedules);

            IEnumerable <MedicineSchedule> medicineSchedules = new List <MedicineSchedule>()
            {
                medicineSchedule
            };

            await AddAsync(foodScheduleFirst, medicineSchedules);
        }
示例#19
0
        public Result AddFoodDetails(FoodSchedule foodSchedule)
        {
            User   user   = getCurrentUser();
            Result result = new Result();

            if (user == null)
            {
                result.Message = "session timeout !!!";
            }
            else
            {
                foodSchedule.F_userid = user.u_id;
                foodSchedule.f_date   = DateTime.Now;
                result = CheckUserFoodDetails(foodSchedule);
                if (result.Message != "Exist")
                {
                    foodSchedule.F_FeedbackDate = DateTime.Now.AddDays(-1);
                    result = ifoodschedule.AddFoodSchedules(foodSchedule);
                }
            }

            return(result);
        }
示例#20
0
        public async Task <FoodSchedule> EditAsync(FoodSchedule foodSchedule, Guid userId)
        {
            FoodSchedule foodScheduleOld = await _foodScheduleRepo.GetByIdAsync(foodSchedule.Id);

            if (foodScheduleOld == null)
            {
                throw new ApiException("Food schedule not found!");
            }

            List <DateTimeOffset> dates = new List <DateTimeOffset>()
            {
                foodSchedule.Date
            };

            List <FoodSchedule> notEditableFoodSchedules = new List <FoodSchedule>()
            {
                await _foodScheduleRepo.EditAsync(foodSchedule)
            };

            await EditAllForDates(dates, userId, foodSchedule, notEditableFoodSchedules);

            return(foodSchedule);
        }
示例#21
0
        public IActionResult Index()
        {
            User user = getCurrentUser();

            if (user == null)
            {
                return(RedirectToAction("Index", "Login"));
            }
            else
            {
                Result       result       = new Result();
                FoodSchedule foodSchedule = new FoodSchedule();
                foodSchedule.F_userid = user.u_id;
                foodSchedule.f_date   = DateTime.Now;
                result = CheckUserFoodDetails(foodSchedule);
                if (result.Message == "Exist")
                {
                    return(RedirectToAction("Index", "Home"));
                }

                return(View());
            }
        }
示例#22
0
        public List <FoodSchedule> GetFoodScheduleList()
        {
            objDataAccess = DataAccess.NewDataAccess();
            objDbCommand  = objDataAccess.GetCommand(true, IsolationLevel.ReadCommitted);
            DbDataReader        objDbDataReader     = null;
            List <FoodSchedule> objFoodScheduleList = new List <FoodSchedule>();
            FoodSchedule        objFoodSchedule;

            try
            {
                objDbDataReader = objDataAccess.ExecuteReader(objDbCommand, "[rdb].[uspGetFoodScheduleForDDL]", CommandType.StoredProcedure);

                if (objDbDataReader.HasRows)
                {
                    while (objDbDataReader.Read())
                    {
                        objFoodSchedule = new FoodSchedule();
                        this.BuildModelForFoodSchedule(objDbDataReader, objFoodSchedule);
                        objFoodScheduleList.Add(objFoodSchedule);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Error : " + ex.Message);
            }
            finally
            {
                if (objDbDataReader != null)
                {
                    objDbDataReader.Close();
                }
                objDataAccess.Dispose(objDbCommand);
            }

            return(objFoodScheduleList);
        }
示例#23
0
        public void UpdateFoodScheduleInfo(FoodSchedule objFoodSchedule)
        {
            int noOfAffacted = 0;

            objDataAccess = DataAccess.NewDataAccess();
            objDbCommand  = objDataAccess.GetCommand(true, IsolationLevel.Serializable);

            objDbCommand.AddInParameter("FoodScheduleId", objFoodSchedule.FoodScheduleId);
            objDbCommand.AddInParameter("FoodScheduleName", objFoodSchedule.FoodScheduleName);
            objDbCommand.AddInParameter("ScheduleDescription", objFoodSchedule.ScheduleDescription);
            objDbCommand.AddInParameter("IsActive", objFoodSchedule.IsActive);
            objDbCommand.AddInParameter("UpdatedByUserId", objFoodSchedule.UpdatedBy);

            try
            {
                noOfAffacted = objDataAccess.ExecuteNonQuery(objDbCommand, "[rdb].[uspUpdateFoodScheduleInfo]",
                                                             CommandType.StoredProcedure);
                if (noOfAffacted > 0)
                {
                    objDbCommand.Transaction.Commit();
                }
                else
                {
                    objDbCommand.Transaction.Rollback();
                }
            }
            catch (Exception ex)
            {
                objDbCommand.Transaction.Rollback();
                throw new Exception("Database Error Occured", ex);
            }
            finally
            {
                objDataAccess.Dispose(objDbCommand);
            }
        }
示例#24
0
        public async Task EditAllBasedOnFoodScheduleAsync(FoodSchedule foodSchedule, Guid userId)
        {
            IEnumerable <FoodSchedule> foodSchedules = (await _foodScheduleRepo.GetAllByMedicineScheduleIdAsync(foodSchedule.MedicineScheduleId))
                                                       .Where(fs => fs.Date.Date >= DateTime.UtcNow.Date);

            if (!foodSchedules.Any())
            {
                throw new ApiException("Food schedules not found!");
            }

            List <DateTimeOffset> dates = new List <DateTimeOffset>();

            foreach (FoodSchedule foodSched in foodSchedules)
            {
                dates.Add(foodSched.Date);
            }

            List <FoodSchedule> notEditableFoodSchedules = new List <FoodSchedule>()
            {
                foodSchedule
            };

            await EditAllForDates(dates, userId, foodSchedule, notEditableFoodSchedules);
        }
示例#25
0
 /// <summary>
 /// Poodle constructor, passed to it is the property values
 /// This constructor calls the dog constructor (as a Poodle is a dog)
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="age">Age</param>
 /// <param name="gender">Gender</param>
 /// <param name="numberOfTeeth">As a poodle is a dog number of teeth needs to be passed</param>
 /// <param name="numberOfLegs">As a poodle is a dog number of legs needs to be passed</param>
 /// <param name="teilLength">As a poodle is a dog teil length needs to be passed</param>
 /// <param name="cosyDog">This is a property of poodle</param>
 public Poodle(string name, int age, Gender gender, int numberOfTeeth, int numberOfLegs, int teilLength, bool cosyDog) : base(name, age, gender, numberOfTeeth, numberOfLegs, teilLength)
 {
     foodSchedule = new FoodSchedule();
     foodSchedule.Add("Saucige once a day.");
     CosyDog = cosyDog;
 }
示例#26
0
 /// <summary>
 /// Piraya constructor, passed to it is the property values
 /// This constructor calls the fish constructor (as a Piraya is a fish)
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="age">Age</param>
 /// <param name="gender">Gender</param>
 /// <param name="fishFamily">As an piraya is a fish, we need to pass fishFamily</param>
 /// <param name="numberOfFins">As an piraya is a fish, we need to pass number of fins</param>
 /// <param name="whyIDangerous">This is a piraya property</param>
 public Piraya(string name, int age, Gender gender, FishFamily fishFamily, int numberOfFins, string whyIDangerous) : base(name, age, gender, fishFamily, numberOfFins)
 {
     foodSchedule = new FoodSchedule();
     foodSchedule.Add("Frosen krill every day");
     WhyIDangerous = whyIDangerous;
 }
示例#27
0
        private async Task EditAllForDates(IEnumerable <DateTimeOffset> dates, Guid userId, FoodSchedule foodSchedule,
                                           IEnumerable <FoodSchedule> staticFoodSchedules)
        {
            IEnumerable <FoodSchedule> foodSchedules = (await _foodScheduleRepo.GetAllByDateRangeAndUserIdAsync(dates.ToArray(), userId))
                                                       .Where(foodSched => !staticFoodSchedules.Any(fs => fs.Id == foodSched.Id));

            foreach (FoodSchedule foodSched in foodSchedules)
            {
                foodSched.TimeOfFirstMeal = new DateTimeOffset(foodSched.TimeOfFirstMeal.Year, foodSched.TimeOfFirstMeal.Month,
                                                               foodSched.TimeOfFirstMeal.Day, foodSchedule.TimeOfFirstMeal.Hour, foodSchedule.TimeOfFirstMeal.Second,
                                                               foodSchedule.TimeOfFirstMeal.Millisecond, new TimeSpan(0, 0, 0));

                foodSched.NumberOfMeals = foodSchedule.NumberOfMeals;
            }

            await _foodScheduleRepo.EditAllAsync(foodSchedules);
        }
示例#28
0
 /// <summary>
 /// GoldFish constructor, passed to it is the property values
 /// This constructor calls the fish constructor (as a GoldFish is a fish)
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="age">Age</param>
 /// <param name="gender">Gender</param>
 /// <param name="fishFamily">As a goldfish is a fish, we need to pass fishFamily</param>
 /// <param name="numberOfFins">As a goldfish is a fish, we need to pass number of fins</param>
 /// <param name="iDoForget">This is a propewrty of goldfish</param>
 public GoldFish(string name, int age, Gender gender, FishFamily fishFamily, int numberOfFins, bool iDoForget) : base(name, age, gender, fishFamily, numberOfFins)
 {
     foodSchedule = new FoodSchedule();
     foodSchedule.Add("Krill every day.");
     IDoForget = iDoForget;
 }
示例#29
0
 /// <summary>
 /// Crow constructor, passed to it is the property values
 /// This constructor calls the bird constructor (as a Crow is a bird)
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="age">Age</param>
 /// <param name="gender">Gender</param>
 /// <param name="typeOfBird">As bullfinch is a bird, type of bird needs to be passed</param>
 /// <param name="whatSilverDoCrowLike">This is a crow property</param>
 public Crow(string name, int age, Gender gender, BirdType typeOfBird, string whatSilverDoCrowLike) : base(name, age, gender, typeOfBird)
 {
     foodSchedule = new FoodSchedule();
     foodSchedule.Add("Two insect for twice a day.");
     WhatSilverDoCrowLike = whatSilverDoCrowLike;
 }
示例#30
0
 /// <summary>
 /// BullFinch constructor, passed to it is the property values
 /// This constructor calls the bird constructor (as a BullFinch is a bird)
 /// </summary>
 /// <param name="name">Name</param>
 /// <param name="age">Age</param>
 /// <param name="gender">Gender</param>
 /// <param name="typeOfBird">As bullfinch is a bird, type of bird needs to be passed</param>
 /// <param name="whatToSing">This is a property of bullfinch</param>
 public Bullfinch(string name, int age, Gender gender, BirdType typeOfBird, string whatToSing) : base(name, age, gender, typeOfBird)
 {
     foodSchedule = new FoodSchedule();
     foodSchedule.Add("One insect for three times a day.");
     WhatToSing = whatToSing;
 }