public void Create(KnowledgeRateDTO item) { if (item == null) { throw new ValidationException("Item is not Valid", ""); } var sameItemFromDb = Database.Rates.Find( x => x.UserId == item.UserId && x.KnowledgeId == item.KnowledgeId).FirstOrDefault(); if (sameItemFromDb != null) { throw new ValidationException("The same item is already exist", ""); } var mapper = new MapperConfiguration(cfg => cfg.CreateMap <KnowledgeRateDTO, KnowledgeRate>()).CreateMapper(); var rate = mapper.Map <KnowledgeRateDTO, KnowledgeRate>(item); Database.Rates.Create(rate); Database.Save(); }
public void Update(int id, KnowledgeRateDTO item) { if (item == null) { throw new ValidationException("Item is not Valid", ""); } var itemToUpdate = Database.Rates.Get(id); if (itemToUpdate == null) { throw new ValidationException("Rate is not found", ""); } itemToUpdate.Rate = item.Rate; itemToUpdate.KnowledgeId = item.KnowledgeId; itemToUpdate.Knowledge = Database.Knowledges.Get(item.KnowledgeId); itemToUpdate.UserId = item.UserId; itemToUpdate.User = Database.Users.Get(item.UserId); Database.Rates.Update(itemToUpdate); Database.Save(); }