public async Task <ActionResult> Feeding([Bind(Include = "FeedingId,Date,Feedings,FoodSize,NumItemsFed,Notes,ReptileId")] Feeding feeding)
        {
            /*   add this later
             * if(feeding.Feedings == null || feeding.FoodSize == null)
             * {
             *  ViewBag.Message = "Please select food size or food type.";
             * }
             * */
            if (ModelState.IsValid)
            {
                Reptile updateTimeStamp = await db.Reptiles.FirstOrDefaultAsync(r => r.ReptileId == feeding.ReptileId);

                updateTimeStamp.TimeStamp = feeding.Date.ToLocalTime();
                db.Reptiles.Attach(updateTimeStamp);
                db.Entry(updateTimeStamp).Property(r => r.TimeStamp).IsModified = true;

                db.Feedings.Add(feeding);
                await db.SaveChangesAsync();

                return(RedirectToAction("Index"));
            }


            return(View(feeding));
        }
        public async Task <IActionResult> Edit(int id, [Bind("FeedingID,NumberOfFeedings,FeedingTime,BabyName")] Feeding feeding)
        {
            if (id != feeding.FeedingID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(feeding);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!FeedingExists(feeding.FeedingID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BabyName"] = new SelectList(_context.BabyInfo, "BabyName", "BabyName", feeding.BabyName);
            return(View(feeding));
        }
示例#3
0
 public FeedingAddFoodTimeViewModel(Feeding Feeding)
 {
     this.Feeding      = Feeding;
     PatientName       = database.GetPatientPerId(Feeding.IdPatient).Name;
     LogoutCommand     = new Command(this.Logout);
     FeedingAddCommand = new Command(ExecuteFeedingAddCommand);
 }
        public async Task <ActionResult <Feeding> > FeedingForPet(int id)
        {
            var pet = await _context.Pets.FindAsync(id);

            if (pet == null)
            {
                return(NotFound());
            }

            var deathDate = DateTime.Now;

            if ((deathDate - pet.LastInteractedWithDate).TotalDays > 3)
            {
                pet.IsDead = true;
                await _context.SaveChangesAsync();

                return(Ok(new { Message = "Your pet is dead" }));
            }
            else
            {
                pet.LastInteractedWithDate = DateTime.Now;
                Feeding feedings = new Feeding();
                feedings.PetId = pet.Id;
                feedings.When  = DateTime.Now;

                pet.HappinessLevel += 3;
                pet.HungerLevel    -= 5;

                _context.Feedings.Add(feedings);
                await _context.SaveChangesAsync();

                return(Ok(feedings));
            }
        }
        public IHttpActionResult PutFeeding(int id, Feeding feeding)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != feeding.Id)
            {
                return(BadRequest());
            }

            db.Entry(feeding).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FeedingExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#6
0
    /// <summary>
    /// 自身(動物オブジェクト)が注視されたら,
    /// 餌を自身に向けて, 餌を投げる.
    /// (カメラが餌を投げる指示を出すのではなく, 動物オブジェクト自身から餌を投げるようにしている)
    /// </summary>
    public void Feeing()
    {
        Feeding animalFeed = AnimalTable(GazeManager.Instance.HitObject);

        Debug.Log("animalFeed : " + animalFeed);

        Debug_FeedingDictionary();

        //餌を持ってかったときの処理を書く
        if (FeedDictionary[animalFeed] <= 0)
        {
        }
        else
        {
            GameObject g = FeedTable(animalFeed);
            Debug.Log("FeedTable : " + g.tag);

            GameObject feedInstance = Instantiate <GameObject>(
                FeedTable(animalFeed), cameraPrefab.transform.position, cameraPrefab.transform.rotation);


            //投げるゲームオブジェクトはリスとから消しておく
            FeedDictionary[animalFeed]--;

            feedInstance.GetComponent <Rigidbody>().AddForce(feedInstance.transform.forward * speed);

            //一定時間フィールド上に存在する餌オブジェクトは削除するようにする.
            Destroy(feedInstance, DestryTime);
        }
    }
示例#7
0
        public async Task <bool> PostFeedingAsync(Feeding feeding, string URL)
        {
            var client = new HttpClient();

            client.DefaultRequestHeaders.Clear();
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/json-patch+json");

            var model = new PostFeedingModel()
            {
                Name      = feeding.Name,
                CountMilk = feeding.CountMilk,
                TimeMilk  = feeding.TimeMilk,
                DeviceId  = feeding.DeviceId,
            };

            var json = JsonConvert.SerializeObject(model);

            byte[] messageBytes = System.Text.Encoding.UTF8.GetBytes(json);
            var    content      = new ByteArrayContent(messageBytes);

            content.Headers.ContentType = new MediaTypeHeaderValue("application/json");

            var response = await client.PostAsync(URL, content);

            return(response.IsSuccessStatusCode);
        }
示例#8
0
        private HttpResponseMessage ProcessExistingFeedRecord(HttpRequestMessage request, FeedingDTO cqDto, int contactId, string key, int companyId, int UserId)
        {
            var o2r = new FeedingRepository();
            var o2  = new Feeding();

            o2 = o2r.GetById(contactId);
            //  is the Pond eligible to update the prospect?

            var validationErrors = GetFeedValidationErrors(o2r, o2, cqDto, companyId, UserId);

            if (validationErrors.Any())
            {
                return(ProcessValidationErrors(request, validationErrors, key));
            }
            //  no validation errors...
            var binDisb = o2r.GetBinDisbursement(o2.FeedingId);

            if (binDisb != null)
            {
                //	there is a BinDisbursement record which has to be modified
                binDisb.Pounds = o2.PoundsFed;
                binDisb.UserID = UserId;
                o2r.SaveChanges();
                var br = new BinRepository();
                br.UpdateBinCurrentPounds(null, binDisb);
            }
            else
            {
                //	there is no BinDisbursement record to mofify
                o2r.SaveChanges();
            }
            cqDto.Key = key;
            return(request.CreateResponse(HttpStatusCode.Accepted, cqDto));
        }
示例#9
0
        public async Task <ActionResult <Feeding> > AddFeedingForPet(int id, Feeding feeding)
        {
            var pet = await _context.Pets.FindAsync(id);

            if (pet == null)
            {
                return(NotFound());
            }

            feeding.PetId = pet.Id;

            if (pet.HungerLevel == 0)
            {
                return(BadRequest(new { Message = $"{pet.Name} isn't hungry!" }));
            }

            feeding.When = DateTime.Now;
            _context.Feedings.Add(feeding);

            pet.HappinessLevel += 3;
            pet.HungerLevel    -= 5;

            await _context.SaveChangesAsync();

            return(Ok(feeding));
        }
        public IHttpActionResult PostFeeding(Feeding feeding)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.Feedings.Add(feeding);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (FeedingExists(feeding.Id))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = feeding.Id }, feeding));
        }
示例#11
0
        public async Task <ActionResult <Feeding> > CreateFeedingForPet(int id, Feeding feeding)
        {
            var pet = await _context.Pets.FindAsync(id);

            if (pet == null)
            {
                return(NotFound());
            }
            feeding.PetId = pet.Id;
            // Can't feed a full pet.
            if (pet.HungerLevel <= 0)
            {
                pet.HungerLevel = 0;
            }
            // Set feeding to current time.
            feeding.When = DateTime.Now;
            _context.Feedings.Add(feeding);
            // Add three to pet happiness level.
            pet.HappinessLevel += 3;
            // Subtract five from pet hunger level.
            pet.HungerLevel -= 5;

            // Adventure mode: Update LastInteractedWithDate
            pet.LastInteractedWithDate = DateTime.Now;

            await _context.SaveChangesAsync();

            return(Ok(feeding));
        }
 public void Post([FromBody] Feeding feed)
 {
     if (ModelState.IsValid)
     {
         feedingRepository.Add(feed);
     }
 }
示例#13
0
        public async Task <IActionResult> PutFeeding([FromRoute] int id, [FromBody] PutFeeding putFeeding)
        {
            var feeding = new Feeding()
            {
                Id        = putFeeding.Id,
                Name      = putFeeding.Name,
                CountMilk = putFeeding.CountMilk,
                TimeMilk  = putFeeding.TimeMilk,
                DeviceId  = putFeeding.DeviceId,
                BabyId    = id,
                Baby      = new Baby()
                {
                    Id = id,
                }
            };

            var result = await feedingsService.UpdateFeeding(feeding);

            if (result == null)
            {
                return(NotFound());
            }

            return(NoContent());
        }
示例#14
0
        private HttpResponseMessage ProcessNewFeedRecord(HttpRequestMessage request, FeedingDTO uDto, string key, int companyId, int UserId)
        {
            var ur = new FeedingRepository();
            var o2 = new Feeding();
            var validationErrors = GetFeedValidationErrors(ur, o2, uDto, companyId, UserId);

            if (validationErrors.Any())
            {
                return(ProcessValidationErrors(request, validationErrors, key));
            }
            //  no validation errors...
            //Pond.CompanyId = companyId;
            o2 = ur.Save(o2);
            var farmid = uDto.FarmID;

            var br       = new BinRepository();
            var binCount = br.GetFarmBinList(farmid).Count();

            if (binCount > 0)
            {
                var binDisb = br.GetNewBinDisbursementRecord();
                binDisb.DateCreated = DateTime.Now;
                var disbType  = br.GetDisbursementType("Routine Feeding");
                var ticketNbr = br.GetLastBinLoadTicketNumber(uDto.BinID.Value);
                if (ticketNbr == 0)
                {
                    return(request.CreateErrorResponse(HttpStatusCode.InternalServerError,
                                                       string.Format("{0}{1}", "There are no Tickets in BinLoads for BinID ", uDto.BinID)));
                }

                var dto = new BinDisbursementDto()
                {
                    BinID            = uDto.BinID.Value,
                    TicketNumber     = ticketNbr,
                    Pounds           = int.Parse(uDto.PoundsFed),
                    Note             = "Record created from daily feed disbursement input screen",
                    DisbursementType = disbType,
                    DisbursementDate = DateTime.Now,
                    CreatedDate      = DateTime.Now,
                    UserID           = UserId,
                    FeedID           = o2.FeedingId
                };
                validationErrors = GetBinDisbursementErrors(br, binDisb, dto, companyId, UserId);
                if (validationErrors.Any())
                {
                    return(ProcessValidationErrors(request, validationErrors, key));
                }
                br.SaveChanges();
                br.UpdateBinCurrentPounds(null, binDisb);
            }

            uDto.Key = key;
            var response = request.CreateResponse(HttpStatusCode.Created, uDto);

            response.Headers.Location = new Uri(Url.Link("Default", new {
                id = o2.FeedingId
            }));
            return(response);
        }
示例#15
0
 public static FeedingViewModel Create(Feeding feeding, Infant infant)
 {
     return(new FeedingViewModel
     {
         Feeding = feeding,
         Infant = infant,
     });
 }
 public void Put(int id, [FromBody] Feeding feed)
 {
     feed.feed_id = id;
     if (ModelState.IsValid)
     {
         feedingRepository.Update(feed);
     }
 }
        public ActionResult DeleteConfirmed(int id)
        {
            Feeding feeding = db.Feedings.Find(id);

            db.Feedings.Remove(feeding);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
        public IActionResult OnGet(int id)
        {
            var feeding = feedingsService.GetFeeding(id);

            EditFeeding = feeding;

            return(Page());
        }
 public FeedingAddFoodViewModel(Feeding Feeding)
 {
     this.Feeding     = Feeding;
     Foods            = new ObservableCollection <Food>();
     FoodSelected     = new Food();
     SelectItemVerify = new Command(ExecuteSelectItemVerify);
     this.LoadAsync();
 }
示例#20
0
 private void Debug_FeedingDictionary()
 {
     for (Feeding i = Feeding.Acorn; i <= Feeding.Meat; i++)
     {
         Debug.Log("aaaaa");
         Debug.Log("FeedDictionary : " + FeedDictionary);
         Debug.Log(i + " : " + FeedDictionary[i]);
     }
 }
示例#21
0
 public static FeedingViewModel Edit(Feeding feeding, Infant infant)
 {
     return(new FeedingViewModel
     {
         Feeding = feeding,
         Infant = infant,
         Action = "Edit",
         ActionTheme = "text-white bg-yellow-500 hover:bg-yellow-600"
     });
 }
        void SaveStartedFeeding(DateTime startDatetime)
        {
            var newFeeding = new Feeding();

            newFeeding.Start_Time = startDatetime;

            _inProgressFeeding = newFeeding;

            App.Database.SaveFeeding(_inProgressFeeding);
        }
        public EditFeedingPage(Feeding feeding)
        {
            var editFeedingViewModel = new EditFeedingViewModel();

            editFeedingViewModel.Feeding = feeding;

            BindingContext = editFeedingViewModel;

            InitializeComponent();
        }
示例#24
0
 public int SaveFeeding(Feeding feed)
 {
     if (feed.ID != 0)
     {
         return(database.Update(feed));
     }
     else
     {
         return(database.Insert(feed));
     }
 }
示例#25
0
 public Task <int> SaveFeedingAsync(Feeding item)
 {
     if (item.ID != 0)
     {
         return(database.UpdateAsync(item));
     }
     else
     {
         return(database.InsertAsync(item));
     }
 }
示例#26
0
 public static FeedingViewModel Details(Feeding feeding, Infant infant)
 {
     return(new FeedingViewModel
     {
         Feeding = feeding,
         Infant = infant,
         Action = "Details",
         ReadOnly = true,
         ShowAction = false
     });
 }
 public ActionResult Edit([Bind(Include = "FeedingId,Date,Feedings,FoodSize,NumItemsFed,Notes,ReptileId")] Feeding feeding)
 {
     if (ModelState.IsValid)
     {
         db.Entry(feeding).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.ReptileId = new SelectList(db.Reptiles, "ReptileId", "SpeciesName", feeding.ReptileId);
     return(View(feeding));
 }
        public IHttpActionResult GetFeeding(int id)
        {
            Feeding feeding = db.Feedings.Find(id);

            if (feeding == null)
            {
                return(NotFound());
            }

            return(Ok(feeding));
        }
示例#29
0
 public FeedingAddFoodViewModel(Feeding Feeding)
 {
     this.Feeding = Feeding;
     Foods = new ObservableCollection<Food>();
     LogoutCommand = new Command(this.Logout);
     this.IsLoading = true;
     _ = this.LoadAsync();
     FoodSelected = new Food();
     SelectItemVerify = new Command(ExecuteSelectItemVerify);
     LoadFoodsCommand = new Command(LoadAsyncList);
 }
        public async Task <IActionResult> Create([Bind("FeedingID,NumberOfFeedings,FeedingTime,BabyName")] Feeding feeding)
        {
            if (ModelState.IsValid)
            {
                _context.Add(feeding);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["BabyName"] = new SelectList(_context.BabyInfo, "BabyName", "BabyName", feeding.BabyName);
            return(View(feeding));
        }
示例#31
0
        public bool AddFeeding(Cage cage, DateTime time, int regularEmployeeID)
        {
            var newFeeding = new Feeding()
            {
                CageID = cage.CageID,
                Time = time,
                EmployeeID = regularEmployeeID
            };

            using (var db = new ZooMasterDBEntities())
            {
                db.Feedings.Add(newFeeding);
                return db.SaveChanges() == 1;
            }
        }
 /// <summary>
 /// No hay ningún comentario para Feeding en el esquema.
 /// </summary>
 public void AddToFeeding(Feeding feeding)
 {
     base.AddObject("Feeding", feeding);
 }
 /// <summary>
 /// Crear un nuevo objeto Feeding.
 /// </summary>
 /// <param name="id">Valor inicial de Id.</param>
 /// <param name="name">Valor inicial de Name.</param>
 /// <param name="description">Valor inicial de Description.</param>
 public static Feeding CreateFeeding(global::System.Guid id, string name, string description)
 {
     Feeding feeding = new Feeding();
     feeding.Id = id;
     feeding.Name = name;
     feeding.Description = description;
     return feeding;
 }
示例#34
0
        public bool EditFeeding(Feeding feeding)
        {
            using (var db = new ZooMasterDBEntities())
            {
                var originalFeeding = db.Feedings.First(f => f.FeedingID == feeding.FeedingID);

                originalFeeding.CageID = feeding.CageID;
                originalFeeding.Time = feeding.Time;
                originalFeeding.EmployeeID = feeding.EmployeeID;

                return db.SaveChanges() == 1;
            }
        }