public DataSourceResult Delete(ComponentsModel viewModel, ModelStateDictionary modelState) { if (viewModel != null && modelState.IsValid) { var repo = this.RepoFactory.Get <ComponentRepository>(); var entity = repo.GetById(viewModel.Id); entity.Deleted = true; entity.DeletedOn = DateTime.Now; repo.SaveChanges(); return(null); } else { return(this.HandleErrors(modelState)); } }
public DataSourceResult Save(ComponentsModel viewModel, ModelStateDictionary modelState) { if (viewModel != null && modelState.IsValid) { var repo = this.RepoFactory.Get <ComponentRepository>(); var entity = repo.GetById(viewModel.Id); var exists = repo.GetIfExists(viewModel.BlindTypeId, viewModel.Name, viewModel.Id); if (exists) { return(new DataSourceResult { Errors = GlobalConstants.ComponentExistsMessage }); } if (entity == null) { entity = new Data.Models.Component(); repo.Add(entity); } Mapper.Map(viewModel, entity); try { repo.SaveChanges(); viewModel.Id = entity.Id; return(null); } catch (DbEntityValidationException e) { return(new DataSourceResult { Errors = this.HandleDbEntityValidationException(e) }); } } else { return(this.HandleErrors(modelState)); } }