public async Task <ActionResult> PostDailySpendings(DailySpendingModel Spending) { if (ModelState.IsValid) { var someDate = DateTime.Parse(Spending.date); var CurrentUser = _context.UserData.Find(Spending.UserId); var savedSpending = _context.Spendings.Where(sp => sp.Date == someDate && sp.isDeleted == false && sp.User == CurrentUser); if (savedSpending.Count() != 0) { return(BadRequest(new { message = "Expense tracker for" + someDate.ToString("dd-MMM-yyy") + "exists already" })); } if (CurrentUser != null && Spending.date != null) { CultureInfo myCI = new CultureInfo("en-UK"); Calendar myCal = myCI.Calendar; CalendarWeekRule myCWR = myCI.DateTimeFormat.CalendarWeekRule; DayOfWeek myfirstDOW = myCI.DateTimeFormat.FirstDayOfWeek; var weekNumber = myCal.GetWeekOfYear(someDate, myCWR, myfirstDOW); var dailySpendings = new DailySpendings { User = CurrentUser, Date = someDate, DateString = Spending.date, WeekNumber = weekNumber, CreatedAt = DateTime.UtcNow.ToLongDateString(), UpdatedAt = DateTime.UtcNow.ToShortDateString() }; await _context.Spendings.AddAsync(dailySpendings); await _context.SaveChangesAsync(); return(Ok(new { dateId = dailySpendings.DateId, date = dailySpendings.Date.ToShortDateString(), message = "Save successful" })); } return(BadRequest(new { message = "Invalid user Input" })); } return(BadRequest()); }
public async Task <IActionResult> UpdateDailySpendings(DailySpendingModel spendingModel) { if (ModelState.IsValid) { var spending = await _context.Spendings.FindAsync(spendingModel.Id); if (spending == null) { return(BadRequest(new { message = "Spending not found" })); } spending.UpdatedAt = DateTime.UtcNow.ToShortDateString(); _context.Entry(spending).State = EntityState.Modified; await _context.SaveChangesAsync(); return(Ok(new { message = "Update successfully" })); } return(BadRequest(new { message = "Sorry, an error occured somewhere here" })); }