public async Task <MoneyType> Edit(MoneyTypeViewModel model) { try { var response = await client.PutProtectedAsync <HttpSingleResponse <MoneyType> >($"{url}/moneytypes", model); if (response != null && response.IsSuccess) { return(response.Value); } return(null); } catch (Exception ex) { //TODO: Implement error logging for future anaylysis and fixes return(null); } }
public async Task <IActionResult> Put(MoneyTypeViewModel model) { if (ModelState.IsValid) { //Get type var type = db.MoneyTypes.Find(model.MoneyTypeId); if (type == null) { return(NotFound()); } var account = await getAccount(); var oldType = db.MoneyTypes .SingleOrDefault(t => t.Name == model.Name.Trim() && t.Id != model.MoneyTypeId && t.AccountId == account.Id); if (oldType != null) { return(this.FixedBadRequest($"Type already exists with the name: {oldType.Name}.")); } //Edit type info type.Name = model.Name.Trim(); type.Description = model.Description == null ? null : model.Description.Trim(); await db.SaveChangesAsync(); return(Ok(new HttpSingleResponse <MoneyType> { IsSuccess = true, Message = "Money type has been edited successfully.", Value = type })); } return(this.FixedBadRequest("Model sent has some errors.")); }
public async Task <IActionResult> Post(MoneyTypeViewModel model) { if (ModelState.IsValid) { //Get the account var account = await getAccount(); var oldType = db.MoneyTypes.SingleOrDefault(t => t.Name == model.Name.Trim() && t.AccountId == account.Id); if (oldType != null) { return(this.FixedBadRequest("Type already exists.")); } //Create new Money type var newType = new MoneyType { Id = Guid.NewGuid().ToString(), Name = model.Name.Trim(), Description = model.Description == null ? null : model.Description.Trim(), AccountId = account.Id }; await db.MoneyTypes.AddAsync(newType); await db.SaveChangesAsync(); return(Ok(new HttpSingleResponse <MoneyType> { IsSuccess = true, Message = "Type has been added successfully.", Value = newType })); } return(this.FixedBadRequest("Model sent has some errors.")); }