public void UpdateStatus(int mailId, EmailTaskStatuses NewStatus) { var foundMail = GetById(mailId); foundMail.EmailTaskStatus = (int)NewStatus; _context.SaveChanges(); }
public IActionResult Put([FromRoute] int mailId, [FromBody] EmailTaskStatuses NewStatus) { _mailService.UpdateStatus(mailId, NewStatus); return(NoContent()); }
public bool UpdateStatus(int mailId, EmailTaskStatuses NewStatus) { var mail = GetMailById(mailId); if ((EmailTaskStatuses)mail.EmailTaskStatus == EmailTaskStatuses.Cancel && NewStatus == EmailTaskStatuses.Ongoing) { //throw new CustomExceptions.ValidationException("Mail status cannot be converted to ongoing while the status is cancel"); return(false); } if ((EmailTaskStatuses)mail.EmailTaskStatus == EmailTaskStatuses.Cancel && NewStatus == EmailTaskStatuses.Pending) { //throw new CustomExceptions.ValidationException("Mail status cannot be converted to pending while the status is cancel"); return(false); } if ((EmailTaskStatuses)mail.EmailTaskStatus == EmailTaskStatuses.Cancel && NewStatus == EmailTaskStatuses.Sent) { //throw new CustomExceptions.ValidationException("Mail status cannot be converted to sent while the status is cancel"); return(false); } //if ((EmailTaskStatuses)mail.EmailTaskStatus == EmailTaskStatuses.Sent && NewStatus == EmailTaskStatuses.Cancel) //{ // //throw new CustomExceptions.ValidationException("Mail status cannot be converted to sent while the status is cancel"); // return false; //} if ((EmailTaskStatuses)mail.EmailTaskStatus == EmailTaskStatuses.Sent && NewStatus == EmailTaskStatuses.Pending) { //throw new CustomExceptions.ValidationException("Mail status cannot be converted to sent while the status is cancel"); return(false); } if ((EmailTaskStatuses)mail.EmailTaskStatus == EmailTaskStatuses.Sent && NewStatus == EmailTaskStatuses.Ongoing) { //throw new CustomExceptions.ValidationException("Mail status cannot be converted to sent while the status is cancel"); return(false); } if ((EmailTaskStatuses)mail.EmailTaskStatus == EmailTaskStatuses.Ongoing && NewStatus == EmailTaskStatuses.Pending) { //throw new CustomExceptions.ValidationException("Mail status cannot be converted to sent while the status is cancel"); return(false); } _mailRepository.UpdateStatus(mailId, NewStatus); switch (NewStatus) { case EmailTaskStatuses.Pending: Console.WriteLine("Mail status is pending"); break; case EmailTaskStatuses.Ongoing: Console.WriteLine("Mail status is ongoing"); break; case EmailTaskStatuses.Sent: Console.WriteLine("Mail status is sent"); break; case EmailTaskStatuses.Cancel: Console.WriteLine("Mail status is cancel"); break; } return(true); //return Marshal.GetExceptionCode() != 0; //bunun ne döndüğünden bile emin değilim saçma }