public void UpdateStatus(int mailId, EmailTaskStatuses NewStatus)
        {
            var foundMail = GetById(mailId);

            foundMail.EmailTaskStatus = (int)NewStatus;
            _context.SaveChanges();
        }
Пример #2
0
        public IActionResult Put([FromRoute] int mailId, [FromBody] EmailTaskStatuses NewStatus)
        {
            _mailService.UpdateStatus(mailId, NewStatus);

            return(NoContent());
        }
Пример #3
0
        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
        }