private void MapToAudit(AwardTrophy dbentity, AwardTrophyViewModel model) { bool hasChanged = false; if ( (dbentity.FinYearId != model.FinYearId) || (dbentity.TrophyId != model.TrophyId) || (dbentity.AwardId != model.AwardId) ) { hasChanged = true; } var entity = model.ToEntity(dbentity); entity.AwardTrophyAudits .ToList() .ForEach(a => a.IsActive = false); if (hasChanged) { var audit = entity.ToAuditEntity(); entity.AwardTrophyAudits.Add(audit); } }
/// <summary> /// Convert MNC Entity into MNC Object /// </summary> ///<param name="model">AwardTrophyViewModel</param> ///<param name="MNCEntity">DataAccess.MNC</param> ///<returns>AwardTrophyViewModel</returns> public static AwardTrophyViewModel ToViewModel(this AwardTrophy entity, AwardTrophyViewModel model) { model.Id = entity.Id; model.IsActive = entity.IsActive; model.FinYearId = entity.FinYearId; model.TrophyId = entity.TrophyId; model.AwardId = entity.AwardId; model.FinYear = entity.FinYear.Name; model.Trophy = entity.Trophy.Name; model.Award = entity.Award.Name; model.StartDate = entity.StartDate; return(model); }
public async Task <SaveResult> SaveEntity(AwardTrophyViewModel viewModel) { SaveResult saveResult = new SaveResult(); Dictionary <bool, string> dictionary = new Dictionary <bool, string>(); var entity = new AwardTrophy(); try { if (viewModel.Id != 0) { if (_context.AwardTrophy.IgnoreQueryFilters().Any(a => a.Id == viewModel.Id)) { entity = await _context.AwardTrophy.IgnoreQueryFilters().FirstOrDefaultAsync(a => a.Id == viewModel.Id); } MapToAudit(entity, viewModel); _context.AwardTrophy.Update(entity); } else { MapToAudit(entity, viewModel); _context.AwardTrophy.Add(entity); } await _context.SaveChangesAsync(); if (entity.Id > 0) { saveResult.IsSuccess = true; saveResult.Id = entity.Id; } } catch (DbUpdateException upDateEx) { var results = upDateEx.GetSqlerrorNo(); string msg = results == (int)SqlErrNo.FK ? ConstEntity.MissingValueMsg : ConstEntity.UniqueKeyMsg; saveResult = dictionary.GetValidateEntityResults(msg).ToSaveResult(); } catch (Exception ex) { saveResult.Message = CrudError.SaveErrorMsg; } return(saveResult); }
/// <summary> /// Convert MNC Object into MNC Entity /// </summary> ///<param name="model">MNC</param> ///<param name="MNCEntity">DataAccess.MNC</param> ///<returns>DataAccess.MNC</returns> public static AwardTrophy ToEntity(this AwardTrophyViewModel model, AwardTrophy entity ) { if (entity.Id == 0) { entity.CreatedUserId = model.SessionUserId; entity.IsActive = model.IsActive; } else { entity.UpdatedUserId = model.SessionUserId; entity.UpdatedTimestamp = DateTime.Now; } entity.FinYearId = model.FinYearId; entity.TrophyId = model.TrophyId; entity.AwardId = model.AwardId; entity.StartDate = model.StartDate; return(entity); }