예제 #1
0
        public ActionResult ADD_TICKET([FromBody] ADD_TICKET_MODEL Ticket)
        {
            Ticket.Client_Id = User.GetClaimType("Id");
            var result = service.ADD_TICKET(Ticket);

            if (result.Status == false)
            {
                return(BadRequest(result));
            }
            return(Ok(result));
        }
예제 #2
0
 public IREQUEST_RESULT ADD_TICKET(ADD_TICKET_MODEL ticket)
 {
     try
     {
         ticket.Created_Date = DateTime.Now;
         if (ticket.Ticket_Number == -1)
         {
             var TimeOfNow = DateTime.Now.TimeOfDay;
             var Config    = context.Configuration.FirstOrDefault();
             //CHECK IF HAS TICKET BEFORE
             var SelectedTicket = context.Tickets.FirstOrDefault(t => t.Branch_Departement_Id == ticket.Branch_Departement_Id &&
                                                                 t.Client_Id == ticket.Client_Id && t.State_Id != 3 && t.Created_Date.Date == DateTime.Now.Date);
             if (SelectedTicket != null)
             {
                 request_result.Status   = false;
                 request_result.Error_AR = "يوجد حجز مسبق في نفس اليوم";
                 request_result.Error_EN = "There is already already ticket Requested";
                 request_result.Data     = SelectedTicket;
                 return(request_result);
             }
             //CHECK IF During the Working Time
             if (Config.Start_Reserving_Time > TimeOfNow || Config.End_Reserving_Time < TimeOfNow)
             {
                 request_result.Status   = false;
                 request_result.Error_AR = "لا يمكن الحجز في هذا الموعد";
                 request_result.Error_EN = "Time not available for Reservation";
                 request_result.Data     = null;
                 return(request_result);
             }
             var CurrentNumber = context.Tickets.Where(t => t.Branch_Departement_Id == ticket.Branch_Departement_Id &&
                                                       t.Created_Date.Date == DateTime.Now.Date)
                                 .Select(t => t.Ticket_Number).DefaultIfEmpty(0).Max();
             ticket.Ticket_Number = CurrentNumber + 1;
             Ticket newTicket = mapper.Map <Ticket>(ticket);
             newTicket.State_Id = 1;
             context.Tickets.Add(newTicket);
             context.SaveChanges();
             notification_service.Notifiy_New_Ticket(newTicket);
             request_result.Data = newTicket;
         }
         return(request_result);
     }
     catch (Exception ex)
     {
         request_result.Status   = false;
         request_result.Error_AR = ex.Message + " : " + ex.Source;
         request_result.Error_EN = ex.Message + " : " + ex.Source;
         request_result.Data     = null;
         return(request_result);
     }
 }