public IActionResult Edit(long id, EditEmailRequest editEmail) { if (!ModelState.IsValid) { return(NotFoundView()); } Result <EmailViewModel> role = _emailDataService.GetViewModel(id, GetUserId()); if (role.Failure) { return(NotFoundView()); } Result editResult = _manageEmailService.Edit(id, editEmail); if (editResult.Failure) { ModelState.AddErrors(editResult.Errors); role.Value.StatusAlert = StatusAlertViewExtension.Get(editResult); return(View("Details", role.Value)); } role.Value.StatusAlert = StatusAlertViewExtension.Get("Email updated"); return(View("Details", role.Value)); }
public Result Edit(long id, EditEmailRequest editEmail) { _logger.LogInformation($"Editing Email. EmailId {id}"); ValidationResult validationResult = _editEmailValidator.Validate(editEmail); if (!validationResult.IsValid) { _logger.LogWarning($"Invalid {nameof(EditEmailRequest)} model"); return(Result.Fail(validationResult.Errors)); } Result <EmailEntity> getEmailResult = Get(id); if (getEmailResult.Failure) { return(Result.Fail(getEmailResult.Errors)); } EmailEntity emailEntity = getEmailResult.Value; emailEntity.Update(editEmail.Subject, editEmail.Body); bool updateResult = _emailRepository.Update(emailEntity); if (!updateResult) { _logger.LogError($"Failed to update email", "Failed to update email"); return(Result.Fail("failed_to_update_email", "Failed to update email")); } return(Result.Ok()); }
public ActionResult Edit(string id, EmailDetailView emailDetailView) { #region Check Access bool hasPermission = GetEmployee().IsGuaranteed("Email_Update"); if (!hasPermission) { ModelState.AddModelError("", "AccessDenied"); return(View(emailDetailView)); } #endregion if (ModelState.IsValid) { try { EditEmailRequest request = new EditEmailRequest(); request.ID = Guid.Parse(id); request.ModifiedEmployeeID = GetEmployee().ID; request.Body = emailDetailView.EmailView.Body; request.CustomerID = emailDetailView.EmailView.CustomerID; request.Sent = emailDetailView.EmailView.Sent; request.Subject = emailDetailView.EmailView.Subject; request.Note = emailDetailView.EmailView.Note; request.RowVersion = emailDetailView.EmailView.RowVersion; GeneralResponse response = this._emailService.EditEmail(request); if (response.success) { return(RedirectToAction("Index")); } else { foreach (string error in response.ErrorMessages) { ModelState.AddModelError("", error); } return(View(emailDetailView)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(emailDetailView)); } } return(View(emailDetailView)); }
public EditEmailRequest GetEmailData(int AdminId) { using (MySqlConnection connection = WebApiConfig.Connection()) using (MySqlCommand command = new MySqlCommand("SELECT * FROM `tbEmailPreferences` WHERE Id = " + AdminId, connection)) { connection.Open(); using (MySqlDataReader reader = command.ExecuteReader()) { while (reader.Read()) { var i = new EditEmailRequest(); i.RecieveMail = true; i.Repeating = JsonSerializationUtility.Deserialize <TaskRepeatingNoTimespan>((string)reader["RepeatInJSON"]); return(i); } return(new EditEmailRequest() { RecieveMail = false }); } } }
public void UpdateEmail(int AdminId, EditEmailRequest email) { using (MySqlConnection connection = WebApiConfig.Connection()) using (MySqlCommand command = new MySqlCommand("DELETE FROM `tbEmailPreferences` WHERE `IdAdmin` = " + AdminId, connection)) { connection.Open(); command.ExecuteNonQuery(); if (email.RecieveMail) { TaskRepeating rep = new TaskRepeating() { ExceptionDates = email.Repeating.ExceptionDates, ExecutionTimes = email.Repeating.ExecutionTimes, Repeating = new TimeSpan(0, 0, email.Repeating.Repeating), RepeatTill = email.Repeating.RepeatTill }; command.CommandText = $"INSERT INTO `tbEmailPreferences`(`IdAdmin`, `RepeatInJSON`, `RecievingEmail`) VALUES ({AdminId},@repeating,@email)"; command.Parameters.AddWithValue("@repeating", JsonSerializationUtility.Serialize(rep)); command.Parameters.AddWithValue("@email", GetAdminEmail(AdminId)); command.ExecuteNonQuery(); } } }
public GeneralResponse EditEmail(EditEmailRequest request) { GeneralResponse response = new GeneralResponse(); Email email = new Email(); email = _emailRepository.FindBy(request.ID); if (email != null) { try { email.ModifiedDate = PersianDateTime.Now; email.ModifiedEmployee = _employeeRepository.FindBy(request.ModifiedEmployeeID); if (request.Body != null) { email.Body = request.Body; } if (request.CustomerID != null) { email.Customer = this._customerRepository.FindBy(request.CustomerID); } email.Sent = request.Sent; if (request.Subject != null) { email.Subject = request.Subject; } if (request.Note != null) { email.Note = request.Note; } if (email.RowVersion != request.RowVersion) { response.ErrorMessages.Add("EditConcurrencyKey"); return(response); } else { email.RowVersion += 1; } if (email.GetBrokenRules().Count() > 0) { foreach (BusinessRule businessRule in email.GetBrokenRules()) { response.ErrorMessages.Add(businessRule.Rule); } return(response); } _emailRepository.Save(email); _uow.Commit(); ////response.success = true; } catch (Exception ex) { response.ErrorMessages.Add(ex.Message); } } else { response.ErrorMessages.Add("NoItemToEditKey"); } return(response); }