public IActionResult Put(CatCurrencyExchangeEditModel model) { if (!ModelState.IsValid) { return(BadRequest()); } model.UserModified = currentUser.UserID; var hs = catCurrencyExchangeService.UpdateRate(model); var message = HandleError.GetMessage(hs, Crud.Update); ResultHandle result = new ResultHandle { Status = hs.Success, Message = stringLocalizer[message].Value }; if (!hs.Success) { return(BadRequest(result)); } return(Ok(result)); }
public HandleState UpdateRate(CatCurrencyExchangeEditModel model) { var rates = model.CatCurrencyExchangeRates; try { foreach (var item in rates) { var rate = new CatCurrencyExchange(); rate = DataContext.Get(x => x.DatetimeCreated.Value.Date == DateTime.Now.Date && x.CurrencyFromId == item.CurrencyFromId && x.CurrencyToId == model.CurrencyToId && x.Active == true).FirstOrDefault(); if (rate != null) { if (item.IsUpdate == true) { rate.UserModified = model.UserModified; rate.DatetimeModified = DateTime.Now; rate.Active = false; DataContext.Update(rate, x => x.Id == rate.Id, false); } else { continue; } var newrate = new CatCurrencyExchange { CurrencyFromId = item.CurrencyFromId, CurrencyToId = model.CurrencyToId, Rate = item.Rate, Active = true, UserCreated = model.UserModified, DatetimeCreated = DateTime.Now, UserModified = model.UserModified, DatetimeModified = DateTime.Now }; DataContext.Add(newrate, false); } else { rate = new CatCurrencyExchange { CurrencyFromId = item.CurrencyFromId, CurrencyToId = model.CurrencyToId, Rate = item.Rate, Active = true, UserCreated = model.UserModified, DatetimeCreated = DateTime.Now, UserModified = model.UserModified, DatetimeModified = DateTime.Now }; DataContext.Add(rate, false); } } DataContext.SubmitChanges(); return(new HandleState()); } catch (Exception ex) { return(new HandleState(ex.Message)); } }