示例#1
0
        public TicketDTO PutTicket(int id, [FromBody] TicketDTO ticket)
        {
            var editTicket = dbm.FindTicketByID(id);

            bool changesMade = false;

            if (ticket.Description != null && ticket.Description != "" && editTicket.Description != ticket.Description)
            {
                editTicket.Description = ticket.Description;
                changesMade            = true;
            }
            if (ticket.Note != null && ticket.Note != "" && editTicket.Note != ticket.Note)
            {
                editTicket.Note = ticket.Note;
                changesMade     = true;
            }
            if (ticket.StateID > 0 && editTicket.State.StateID != ticket.StateID)
            {
                editTicket.State = dbm.FindStateByID(ticket.StateID);
                changesMade      = true;
            }
            if (ticket.SubprocessID > 0 &&
                ((editTicket.Subprocess != null &&
                  editTicket.Subprocess.SubprocessID != ticket.SubprocessID) ||
                 editTicket.Subprocess == null))
            {
                editTicket.Subprocess = dbm.FindSubprocessByID(ticket.SubprocessID);
                changesMade           = true;
            }
            else if (ticket.SubprocessID == -1 && editTicket.Subprocess != null)
            {
                editTicket.Subprocess = null;
                changesMade           = true;
            }

            if (changesMade)
            {
                db.SaveChanges();
            }
            return(converter.TicketToDTO(editTicket));
        }
示例#2
0
 public StateDTO GetState(int id)
 {
     return(converter.StateToDTO(dbm.FindStateByID(id)));
 }
示例#3
0
 public Ticket DTOToTicket(TicketDTO a)
 {
     return(new Ticket {
         Description = a.Description, Note = a.Note, Subprocess = dbm.FindSubprocessByID(a.SubprocessID), State = dbm.FindStateByID(a.StateID), TicketID = a.TicketID
     });
 }