public async Task <ServiceResponce <GetAppsRateDto> > UpdateAppsRate(UpdatedAppsRateDto updatedAppsRate) { ServiceResponce <GetAppsRateDto> serviceResponce = new ServiceResponce <GetAppsRateDto>(); try { AppsRate appsrate = await _dataContext.AppsRates.FirstOrDefaultAsync(c => c.AppsRateId == updatedAppsRate.AppsRateId && c.IsActive == true); if (appsrate.DateFrom.ToString("yyyyMMdd") != DateTime.Now.ToString("yyyyMMdd")) { appsrate.DateTo = DateTime.Now.AddDays(-1).Date; } else { appsrate.AppRate = updatedAppsRate.AppRate; appsrate.AppGst = updatedAppsRate.AppGst; } appsrate.LastModifiedBy = updatedAppsRate.LastModifiedBy; appsrate.LastModifiedon = DateTime.Now; _dataContext.AppsRates.Update(appsrate); await _dataContext.SaveChangesAsync(); ///add new start if (appsrate.DateFrom.ToString("yyyyMMdd") != DateTime.Now.ToString("yyyyMMdd")) { AddAppsRateDto newappsrate = new AddAppsRateDto(); newappsrate.AppId = appsrate.AppId; newappsrate.AppRate = updatedAppsRate.AppRate; newappsrate.AppGst = updatedAppsRate.AppGst; newappsrate.RangeFrom = appsrate.RangeFrom; newappsrate.RangeTo = appsrate.RangeTo; newappsrate.CreatedBy = updatedAppsRate.LastModifiedBy; //await AddAppsRate(newappsrate); AppsRate appsratenew = _mapper.Map <AppsRate>(newappsrate); appsratenew.DateFrom = DateTime.Now.Date; appsratenew.IsActive = true; appsratenew.CreatedOn = DateTime.Now; await _dataContext.AppsRates.AddAsync(appsratenew); await _dataContext.SaveChangesAsync(); serviceResponce.Data = _mapper.Map <GetAppsRateDto>(appsratenew); } else { ///add new end serviceResponce.Data = _mapper.Map <GetAppsRateDto>(appsrate); } } catch (Exception e) { serviceResponce.Success = false; serviceResponce.Message = e.Message; } return(serviceResponce); }
public async Task <ActionResult> UpdateAppsRate(UpdatedAppsRateDto updatedAppsRate) { ServiceResponce <GetAppsRateDto> serviceResponce = new ServiceResponce <GetAppsRateDto>(); serviceResponce = await _AppsRateService.UpdateAppsRate(updatedAppsRate); if (serviceResponce.Data == null) { return(NotFound(serviceResponce)); } return(Ok(serviceResponce)); }