public string CreteFeedback(FeedbackViewModel feedback) { List <Feedback> allFeedback = _feedbackRepository.GetFeedbackFromEmail(feedback.Email); string email = FeedbackNumberPerEmail.CalcFeedbackNumber(allFeedback, feedback.Email); if (email == null) { return(null); } int feedbackId = _feedbackRepository.Insert(feedback.ToFeedbackDomainModel()); if (feedbackId <= 0) { throw new Exception("Feedback was not saved! Something went wrong!"); } return(email); }
public string UpdateFeedback(FeedbackViewModel feedbackViewModel) { Feedback feedback = _feedbackRepository.GetById(feedbackViewModel.Id); if (feedback == null) { throw new Exception($"Feedback with id: {feedbackViewModel.Id} does not exist!"); } List <Feedback> allFeedback = _feedbackRepository.GetFeedbackFromEmail(feedbackViewModel.Email); string email = FeedbackNumberPerEmail.CalcFeedbackNumber(allFeedback, feedbackViewModel.Email); if (email == null) { return(null); } _feedbackRepository.Update(feedbackViewModel.ToFeedbackDomainModel()); return(feedbackViewModel.Email); }
public void CreteFeedback(FeedbackViewModel feedback) { List <Feedback> allFeedback = _feedbackRepository.GetFeedbackFromEmail(feedback.Email); if (!FeedbackNumberPerEmail.CalcFeedbackNumber(allFeedback)) { throw new Exception($"Feedback count per mail excedeed! Only {FeedbackNumberPerEmail.maxLength} comments per email are allowed"); } if (!CharacterLength.CheckLength(feedback.Message)) { throw new Exception($"Feedback {CharacterLength.maxLength} characters limit excedeed!"); } if (!EmailValidation.CheckEmail(feedback.Email)) { throw new Exception("Invalid email format!"); } int feedbackId = _feedbackRepository.Insert(feedback.ToFeedbackDomainModel()); if (feedbackId <= 0) { throw new Exception("Feedback was not saved! Something went wrong!"); } }
public void UpdateFeedback(FeedbackViewModel feedbackViewModel) { Feedback feedback = _feedbackRepository.GetById(feedbackViewModel.Id); if (feedback == null) { throw new Exception($"Feedback with id: {feedbackViewModel.Id} does not exist!"); } List <Feedback> allFeedback = _feedbackRepository.GetFeedbackFromEmail(feedbackViewModel.Email).Where(x => x.Id != feedbackViewModel.Id).ToList(); if (!FeedbackNumberPerEmail.CalcFeedbackNumber(allFeedback)) { throw new Exception($"Feedback count per mail excedeed! Only {FeedbackNumberPerEmail.maxLength} comments per email are allowed"); } if (!CharacterLength.CheckLength(feedback.Message)) { throw new Exception($"Feedback {CharacterLength.maxLength} characters limit excedeed!"); } if (!EmailValidation.CheckEmail(feedback.Email)) { throw new Exception("Invalid email format!"); } _feedbackRepository.UpdateEntity(feedbackViewModel.ToFeedbackDomainModel()); }