Пример #1
0
        public BusinessHandlerResponse <TicketsIssued> UpdateTicket(TicketsIssued ticket)
        {
            try
            {
                var ticketFromDb = db.TicketsIssueds.FirstOrDefault(a => a.TicketId == ticket.TicketId);
                if (ticketFromDb != null)
                {
                    if (ticketFromDb.AgentCode != ticket.AgentCode)
                    {
                        ticketFromDb.AgentCode = ticket.AgentCode;
                    }
                    if (ticketFromDb.Category != ticket.Category)
                    {
                        ticketFromDb.Category = ticket.Category;
                    }
                    if (ticketFromDb.TicketStatusCode != ticket.TicketStatusCode)
                    {
                        ticketFromDb.TicketStatusCode = ticket.TicketStatusCode;
                    }
                    if (ticketFromDb.Zone != ticket.Zone)
                    {
                        ticketFromDb.Zone = ticket.Zone;
                    }
                    if (ticketFromDb.Notes != ticket.Notes)
                    {
                        ticketFromDb.Notes = (string.IsNullOrWhiteSpace(ticket.Notes)) ? ticket.Notes : ticket.Notes.Trim();
                    }
                    if (ticketFromDb.SoldTo != ticket.SoldTo)
                    {
                        ticketFromDb.SoldTo = (string.IsNullOrWhiteSpace(ticket.SoldTo)) ? ticket.SoldTo : ticket.SoldTo.Trim();
                    }
                    if (ticketFromDb.TicketNumber != ticket.TicketNumber)
                    {
                        ticketFromDb.TicketNumber = ticket.TicketNumber;
                    }
                    ticketFromDb.Paid = ticket.Paid;
                }
                else
                {
                    throw new Exception("Unknown Ticket " + ticket.TicketNumber);
                }

                db.SaveChanges();
                return(new BusinessHandlerResponse <TicketsIssued>()
                {
                    IsASuccess = true
                });
            }
            catch (Exception ex)
            {
                logger.logMessage(ex.Message, LogLevel.error);
                return(new BusinessHandlerResponse <TicketsIssued>()
                {
                    IsASuccess = false,
                    Errors = new List <string> {
                        "Failed due to an unknown error please check the logs"
                    }
                });
            }
        }
Пример #2
0
 public TicketDetails(int?ticketNumber = null, string message = null)
 {
     ticketManagerService      = new Business.TicketManagerService();
     ticketConfirmationService = new Business.TicketConfirmerService(logger);
     if (ticketNumber.HasValue)
     {
         this.ticketNumber = ticketNumber;
         currentTicket     = ticketManagerService.GetTicket(this.ticketNumber.Value).ItemReturned;
     }
     InitializeComponent();
     if (!string.IsNullOrEmpty(message))
     {
         MessageLabel.Text = message;
     }
 }
Пример #3
0
        public BusinessHandlerResponse <TicketsIssued> AddOrIssue(TicketsIssued ticket)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(ticket.Category))
                {
                    var ticketCategoryCode = GetTheCategoryFromTicketNumber(ticket.TicketNumber);
                    if (string.IsNullOrEmpty(ticketCategoryCode.Category))
                    {
                        ticket.Category = Defaults.TicketCategory;
                    }
                    else
                    {
                        ticket.Category = ticketCategoryCode.Category;
                    }
                    ticket.Zone = ticketCategoryCode.Zone;
                }
                if (db.TicketsIssueds.Any(a => a.TicketNumber == ticket.TicketNumber))
                {
                    var ticketIssued = db.TicketsIssueds.First(b => b.TicketNumber == ticket.TicketNumber);
                    if (ticketIssued.TicketStatusCode != Constants.TicketStatus.Initial)
                    {
                        return(new BusinessHandlerResponse <TicketsIssued>()
                        {
                            IsASuccess = false,
                            Errors = new List <string> {
                                string.Format("Ticket {0} already issued to {1} ", ticketIssued.TicketNumber, ticketIssued.Agent.AgentName)
                            }
                        });
                    }
                    else
                    {
                        ticketIssued.TicketStatusCode = Constants.TicketStatus.Issued;
                    }
                }
                else
                {
                    if (string.IsNullOrWhiteSpace(ticket.TicketStatusCode))
                    {
                        ticket.TicketStatusCode = Constants.TicketStatus.Initial;
                    }

                    if (string.IsNullOrWhiteSpace(ticket.AgentCode))
                    {
                        ticket.AgentCode = Constants.FixedAgents.Unassigned;
                    }

                    db.TicketsIssueds.Add(ticket);
                }
                db.SaveChanges();
                return(new BusinessHandlerResponse <TicketsIssued>()
                {
                    IsASuccess = true
                });
            }
            catch (Exception ex)
            {
                logger.logMessage(ex.Message, LogLevel.error);
                return(new BusinessHandlerResponse <TicketsIssued>()
                {
                    IsASuccess = false,
                    Errors = new List <string> {
                        "Failed due to an unknown error please check the logs"
                    }
                });
            }
        }