Ejemplo n.º 1
0
        public async Task <IActionResult> CreateWeekEntry([FromBody] SaveWeekEntryResource entryResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var category = await categoryRepo.GetCategoryById(entryResource.CategoryId);

            var week = await weekRepo.GetWeekById(entryResource.WeekId);

            if (category == null)
            {
                ModelState.AddModelError("Category", "Invalid category.");
                return(BadRequest(ModelState));
            }
            if (week == null)
            {
                ModelState.AddModelError("Week", "Invalid week.");
                return(BadRequest(ModelState));
            }

            var entry = mapper.Map <SaveWeekEntryResource, WeekEntry>(entryResource);

            entry.LastUpdated = DateTime.Now;

            entryRepo.AddEntry(entry);
            await uw.CompleteAsync();

            var result = mapper.Map <WeekEntry, WeekEntryResource>(entry);

            return(Ok(result));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> UpdateWeekEntry(int id, [FromBody] SaveWeekEntryResource entryResource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var entry = await entryRepo.GetEntryById(id);

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

            mapper.Map <SaveWeekEntryResource, WeekEntry>(entryResource, entry);
            entry.LastUpdated = DateTime.Now;
            entry.Category    = await categoryRepo.GetCategoryById(entry.CategoryId);

            entry.Week = await weekRepo.GetWeekById(entry.WeekId);

            await uw.CompleteAsync();

            entry = await entryRepo.GetEntryById(entry.Id);

            var result = mapper.Map <WeekEntry, WeekEntryResource>(entry);

            return(Ok(result));
        }