Пример #1
1
 //Constructor
 public TBestellenVM()
 {
     Holders = Ticket.GetTicketHolders();
     TicketTypes = TicketType.GetTicketTypes();
     VerkochteTickets = Ticket.GetAmountSoldTickets();
     TicketHolder = new Ticket();
 }
Пример #2
0
        public Ticket UpdateOldTicket(Ticket t)
        {
            t = Update(t);
            entity.SaveChanges();

            return t;
        }
Пример #3
0
        private static void BuildTestData()
        {
            using (var data = new HssTicketingContext())
            {
                var user = new User() { FirstName = "Nicolai", LastName = "Naglestad", UserName = "******", AccessLevel = 1, Password = "******" };
                data.Users.Add(user);
                var user2 = new User() { FirstName = "Ola", LastName = "Nordman", UserName = "******", AccessLevel = 2, Password = "******" };
                data.Users.Add(user2);

                var happening = new Happening() { HappeningName = "Neon Party", Location = "Remmen", MaxParticipants = 100};
                data.Happenings.Add(happening);
                var happening2 = new Happening() { HappeningName = "Test Party", Location = "Fredrikstad", MaxParticipants = 50};
                data.Happenings.Add(happening2);

                var ticket = new Ticket() { Happening = happening, UniqueId = "123456789", Scanned = true, TimeScanned = new DateTime(2015, 11, 12, 15, 25, 00) };
                data.Tickets.Add(ticket);
                var ticket2 = new Ticket() { Happening = happening2, UniqueId = "987654321", Scanned = true, TimeScanned = new DateTime(2015, 11, 12, 17, 25, 00) };
                data.Tickets.Add(ticket2);

                var ticket3 = new Ticket() { Happening = happening, UniqueId = "147258369" };
                data.Tickets.Add(ticket3);
                var ticket4 = new Ticket() { Happening = happening2, UniqueId = "963852741" };
                data.Tickets.Add(ticket4);

                data.SaveChanges();
            }
        }
Пример #4
0
    private void TicketCloseSendMail(Category EntCategory, Ticket lastTicket)
    {
        StringBuilder sbBody = new StringBuilder();
        sbBody.AppendLine("<p>");
        sbBody.AppendLine("<IMG src=\"Logo.png\"><br/>");
        sbBody.AppendFormat("<strong>Ticket No: {0}</strong>", lastTicket.IdTicket);
        sbBody.AppendLine("<br/>");
        sbBody.AppendFormat("<strong>Cerradp por: {0} el {1:d} </strong>", lastTicket.AssignedTo.UserCompleteName, lastTicket.ClosedOn);
        sbBody.AppendLine("<br/>");
        sbBody.AppendLine("<strong>Descripción:</strong>");
        sbBody.AppendFormat("<i>{0}</i>", lastTicket.Description);
        sbBody.AppendLine("<br/>");
        sbBody.AppendLine("<strong>Descripción de Cierre:</strong>");
        sbBody.AppendFormat("<i>{0}</i>", lastTicket.CloseDescription);
        sbBody.AppendLine("<br/>");
        sbBody.AppendLine("</p>");
        string slImagePath = Server.MapPath(@"~/App_Themes/Default/Images/Logo.png");

        MailMessage mail = new MailMessage("*****@*****.**", EntCategory.DefaultMail);
        mail.Attachments.Add(new Attachment(slImagePath));
        if (EntCategory.AlternativeMail != "")
            mail.To.Add(EntCategory.AlternativeMail);
        mail.Subject = "Ticket Cerrado";
        mail.Body = sbBody.ToString();
        CoreLibrary.CommonUtils.EmailOperations.SendEmail(mail);
    }
Пример #5
0
    protected void Page_Load(object sender, EventArgs e)
    {
        //参数判断与处理(考虑用框架处理)
        string paramTicketId = Request["Id"];
        if (!string.IsNullOrEmpty(paramTicketId))
        {
            if (int.TryParse(paramTicketId, out ticketId))
            {
                CurrentTicket = bllTicket.GetTicket(ticketId);
                IsNew = false;
            }
            else
            {
                ErrHandler.Redirect(ErrType.ParamIllegal);
            }

        }

        if (!IsPostBack)
        {
            if (!IsNew)
            {
                LoadForm();
            }
        }
    }
Пример #6
0
        /// <summary>
        /// Retrieve the details of the Ticket
        /// </summary>
        /// <param name="ticket"></param>
        /// <returns>List of Ticket</returns>
        public static List<TicketContenu> Get(Ticket ticket)
        {
            List<TicketContenu> listTicketContenu = new List<TicketContenu>();

            using(SqlConnection db = DbConnexion.connect())
            {

                string sql = "SELECT NumArticle, QteArticle FROM Ticket_Contenu tc WHERE tc.NumTicket = @NumTicket";

                using (SqlCommand req = new SqlCommand(sql, db))
                {
                    req.Parameters.Add(new SqlParameter("NumTicket", ticket.Num));

                    SqlDataReader row = req.ExecuteReader();

                    while (row.Read())
                    {
                        TicketContenu ticketContenu = new TicketContenu();
                        ticketContenu.Ticket = ticket;
                        ticketContenu.Article = ArticleDAO.Get(int.Parse(row["NumArticle"].ToString()));
                        ticketContenu.Quantite = float.Parse(row["QteArticle"].ToString());
                        listTicketContenu.Add(ticketContenu);
                    }
                }
            }
            return listTicketContenu;
        }
Пример #7
0
        public void CanCreateUpdateAndDeleteTicketAsync()
        {            
            var ticket = new Ticket()
            {
                Subject = "my printer is on fire",
                Comment = new Comment() { Body = "HELP" },
                Priority = TicketPriorities.Urgent
            };

            ticket.CustomFields = new List<CustomField>()
                {
                    new CustomField()
                        {
                            Id = Settings.CustomFieldId,
                            Value = "Doing fine!"
                        }
                };            

            var res = api.Tickets.CreateTicketAsync(ticket).Result.Ticket;

            Assert.NotNull(res);
            Assert.Greater(res.Id.Value, 0);

            res.Status = TicketStatus.Solved;
            res.AssigneeId = Settings.UserId;

            res.CollaboratorEmails = new List<string>() { Settings.ColloboratorEmail };
            var body = "got it thanks";
            var updateResponse = api.Tickets.UpdateTicketAsync(res, new Comment() { Body = body, Public = true });

            Assert.NotNull(updateResponse.Result);
            Assert.AreEqual(updateResponse.Result.Audit.Events.First().Body, body);

            Assert.True(api.Tickets.DeleteAsync(res.Id.Value).Result);
        }
Пример #8
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string paramScenicId = Request["ScenicId"];
        string paramTicketId = Request["ticketId"];

        if (!int.TryParse(paramScenicId, out scenicId))
        {
            BLL.ErrHandler.Redirect(BLL.ErrType.ParamIllegal);
        }

        Scenic = bllScenic.GetScenicById(scenicId);

        int.TryParse(paramTicketId, out ticketId);
        isNew = ticketId <= 0;

        if (isNew)
        {
            CurrentTicket = new TicketNormal();
        }
        else
        {
            CurrentTicket = bllTicket.GetTicket(ticketId);

        }
        if (!IsPostBack)
        {
            BindTickets();
            LoadForm();
        }
    }
Пример #9
0
        public static IEnumerable GetTestCases()
        {
            var drawnTicket = new Ticket
                {
                   Numbers = new List<int> { 44, 45, 46, 47, 48, 49 }, Additional = 17, Super = 9
                };

            var classEightTicket = new Ticket { Numbers = new List<int> { 4, 5, 6, 47, 48, 49 }, Super = 0 };
            yield return new TestCaseData(drawnTicket, classEightTicket).Returns(WinningClasses.VIII);

            var classSevenTicket = new Ticket { Numbers = new List<int> { 17, 5, 6, 47, 48, 49 }, Super = 0 };
            yield return new TestCaseData(drawnTicket, classSevenTicket).Returns(WinningClasses.VII);

            var classSixTicket = new Ticket { Numbers = new List<int> { 4, 5, 46, 47, 48, 49 }, Super = 0 };
            yield return new TestCaseData(drawnTicket, classSixTicket).Returns(WinningClasses.VI);

            var classFiveTicket = new Ticket { Numbers = new List<int> { 17, 5, 46, 47, 48, 49 }, Super = 0 };
            yield return new TestCaseData(drawnTicket, classFiveTicket).Returns(WinningClasses.V);

            var classFourTicket = new Ticket { Numbers = new List<int> { 4, 45, 46, 47, 48, 49 }, Super = 0 };
            yield return new TestCaseData(drawnTicket, classFourTicket).Returns(WinningClasses.IV);

            var classThreeTicket = new Ticket { Numbers = new List<int> { 17, 45, 46, 47, 48, 49 }, Super = 0 };
            yield return new TestCaseData(drawnTicket, classThreeTicket).Returns(WinningClasses.III);

            var classTwoTicket = new Ticket { Numbers = new List<int> { 44, 45, 46, 47, 48, 49 }, Super = 0 };
            yield return new TestCaseData(drawnTicket, classTwoTicket).Returns(WinningClasses.II);

            var classOneTicket = new Ticket { Numbers = new List<int> { 44, 45, 46, 47, 48, 49 }, Super = 9 };
            yield return new TestCaseData(drawnTicket, classOneTicket).Returns(WinningClasses.I);
        }
        public IHttpActionResult PutTicket(string id, Ticket ticket)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != ticket.UniqueId)
            {
                return BadRequest();
            }

            db.Entry(ticket).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TicketExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
Пример #11
0
        /// <summary>
        /// Retrieve the Ticket by the num
        /// </summary>
        /// <param name="caisse"></param>
        /// <returns>Ticket</returns>
        public static Ticket Get(int num)
        {
            Ticket ticket = new Ticket();

            using (SqlConnection db = DbConnexion.connect())
            {

                string sql = "SELECT * FROM Ticket t WHERE t.NumTicket = @NumTicket";

                using (SqlCommand req = new SqlCommand(sql, db))
                {
                    req.Parameters.Add(new SqlParameter("NumTicket", num));

                    SqlDataReader row = req.ExecuteReader();

                    if (row.Read())
                    {
                        ticket.Num = num;
                        ticket.DateHeure = row.GetDateTime(row.GetOrdinal("DateHeureTicket"));
                        ticket.TypeReglement = row["TypeReglement"].ToString();
                        ticket.Contenu = TicketContenuDAO.Get(ticket);
                        ticket.Caisse = CaisseDAO.Get(int.Parse(row["NumCaisse"].ToString()));
                    }
                }
            }
            return ticket;
        }
Пример #12
0
        public static void Write(XmlWriter writer, Ticket pt)
        {
            var declarations = NamespaceDeclarations(pt);

            writer.WriteStartDocument();
            var prefix = declarations.LookupPrefix(Psf.PrintTicket.NamespaceName);
            writer.WriteStartElement(prefix, Psf.PrintTicket.LocalName, Psf.PrintTicket.NamespaceName);
            writer.WriteAttributeString("version", "1");

            foreach (var decl in declarations)
            {
                writer.WriteAttributeString("xmlns", decl.Prefix, null, decl.Uri.NamespaceName);
            }

            foreach (var f in pt.Features())
            {
                Write(writer, f);
            }

            foreach (var p in pt.Properties())
            {
                Write(writer, p);
            }

            foreach (var p in pt.Parameters())
            {
                Write(writer, p);
            }

            writer.WriteEndElement();
            writer.Flush();
        }
        public IHttpActionResult PostTicket(Ticket ticket)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var happening = db.Happenings.FirstOrDefault(h => h.HappeningId == ticket.Happening.HappeningId);
            ticket.Happening = happening;
            db.Tickets.Add(ticket);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (TicketExists(ticket.UniqueId))
                {
                    return Conflict();
                }
                else
                {
                    throw;
                }
            }

            return CreatedAtRoute("DefaultApi", new { id = ticket.UniqueId }, ticket);
        }
        /*Пробуем вытягивать тикеты по-простому
        public List<Ticket> GetAllTickets()
        {
            List<Ticket> list = new List<Ticket>();
            var resData = ticketAllAdapters.GetData();
            foreach (var data in resData)
            {
                list.Add(new Ticket(data.tticket_id, data.ticket_name, data.tprice_id, data.);
            }
            return list;
        }*/
        //Фильтруем красиво
        public List<Ticket> GetSearchedTickets(Ticket searchedTicket)
        {
            string filter = "";
            String price = "";
            if (searchedTicket.Price != 0)
                filter += "Parent(FK_Ticket_Price).price_name ='" + searchedTicket.Price.ToString() + "' AND ";

                filter += "Parent(FK_Ticket_Type).ttype_name Like '%" + searchedTicket.Type + "%' AND " +

                    "Parent(FK_Ticket_Rate).rrate_name Like '%" + searchedTicket.Rate + "%'";

            DataRow[] searchedTickets = this.ticketsDataSet.Ticket.Select(filter);

            if (searchedTickets == null)
                return null;

            List<Ticket> tickets = new List<Ticket>();

            foreach (DataRow tmpSearchedTicket in searchedTickets)
            {
                tickets.Add(
                    new Ticket(Int32.Parse(tmpSearchedTicket["tticket_id"].ToString()),
                        tmpSearchedTicket["ticket_name"].ToString(),
                        Convert.ToInt32(tmpSearchedTicket.GetParentRow("FK_Ticket_Price")["price_name"]),
                        tmpSearchedTicket.GetParentRow("FK_Ticket_Rate")["rrate_name"].ToString(),
                        tmpSearchedTicket.GetParentRow("FK_Ticket_Type")["ttype_name"].ToString()));
            }

            return tickets;
        }
Пример #15
0
        /// <summary>
        /// Добавляет билет в запрос к сервису авторизации доступа.
        /// </summary>
        /// <param name="article">
        /// Код товара-билета.
        /// </param>
        /// <param name="periodOfValidity">
        /// Срок действия билета в днях.
        /// </param>
        /// <param name="ticketBarcode">
        /// Штрихкод билета.
        /// </param>
        public void AddTicket(string article, int periodOfValidity, string ticketBarcode)
        {
            if (periodOfValidity < 1)
            {
                // если срок действия не задан, то по умолчанию он равен одному дню
                periodOfValidity = 1;
            }

            var ticketValidFrom = DateTime.Now;
            var ticket = new Ticket
            {
                TicketTypeInnerId = int.Parse(article),
                AcessCode = ticketBarcode,
                DTStart = ticketValidFrom,
                DTEnd = ticketValidFrom
                    .AddDays(periodOfValidity - 1)
                    .Date
                    .AddDays(1)
                    .AddTicks(-1),
                Details = new TicketDetails
                {
                    DTPurchased = ticketValidFrom,
                    SerialNumber = ticketBarcode
                }
            };

            tickets.Add(ticket);
        }
Пример #16
0
 public Ticket Park(Car car)
 {
     if (!IsNotFull()) throw new ParkinglotFullException();
     var ticket = new Ticket();
     carList.Add(ticket, car);
     return ticket;
 }
Пример #17
0
        public void InserirTickets()
        {
            TicketsDiaria = new List<Ticket>();
            TicketsViagem = new List<Ticket>();

            foreach (Cidade item in Cidades)
            {
                var diaria = new Ticket(Tipos[0], item);
                var taxi = new Ticket(Tipos[1], item);
                var refeicao = new Ticket(Tipos[2], item);
                var passagem = new Ticket(Tipos[3], item);

                TicketsDiaria.Add(diaria);
                TicketsDiaria.Add(taxi);
                TicketsDiaria.Add(taxi);
                TicketsDiaria.Add(refeicao);
                TicketsDiaria.Add(refeicao);

                TicketsViagem.Add(passagem);
                TicketsViagem.Add(passagem);
                TicketsViagem.Add(taxi);
                TicketsViagem.Add(taxi);
                TicketsViagem.Add(taxi);
                TicketsViagem.Add(taxi);
            }
        }
Пример #18
0
        internal static void CreateTicket(Ticket newTicket)
        {
            using (ManagementEntity context = new ManagementEntity())
            {
                try
                {
                    Models.Management.Ticket ticket = new Models.Management.Ticket();

                    ticket.Created = DateTime.FromBinary(newTicket.Date);
                    ticket.Description = newTicket.Description;
                    ticket.Type = (int)newTicket.TicketType;
                    ticket.EmployeeId = newTicket.EmployeeID;
                    ticket.AutoNumber = newTicket.CarNumber;
                    ticket.DepartmentId = newTicket.DepartmentID;
                    ticket.CustomerId = newTicket.CustomerID;

                    ticket.Status = 1;      ///Ticket status: 0 - closed, 1 - opened

                    context.Tickets.AddObject(ticket);
                    context.SaveChanges();
                }
                catch (InvalidOperationException ex)
                {
                    throw ex;
                }
            }
        }
Пример #19
0
        public void CanAddAttachmentToTicketAsync()
        {
            var res = api.Attachments.UploadAttachmentAsync(new ZenFile()
            {
                ContentType = "text/plain",
                FileName = "testupload.txt",
                FileData = File.ReadAllBytes(Environment.CurrentDirectory + "\\testupload.txt")
            }).Result;

            var ticket = new Ticket()
            {
                Subject = "testing attachments",
                Priority = TicketPriorities.Normal,
                Comment = new Comment()
                {
                    Body = "comments are required for attachments",
                    Public = true,
                    Uploads = new List<string>() { res.Token }
                },
            };

            var t1 = api.Tickets.CreateTicketAsync(ticket).Result;
            Assert.AreEqual(t1.Audit.Events.First().Attachments.Count, 1);

            Assert.True(api.Tickets.DeleteAsync(t1.Ticket.Id.Value).Result);
        }
Пример #20
0
 public UserTicketList UserisOwnerorAssignedSingle(string id, Ticket ticket)
 {
     var returninput = new UserTicketList();
     returninput.ticketin = ticket.Id;
     if (ticket.OwnerId == id)
     {
         returninput.ownerconfirmed = true;
     }
     else
     {
         returninput.ownerconfirmed = false;
     }
     if (ticket.AssignedId != null)
     {
         if (ticket.AssignedId == id)
         {
             returninput.assignconfirmed = true;
         }
         else
         {
             returninput.assignconfirmed = false;
         }
     }
     else
     {
         returninput.assignconfirmed = false;
     }
     returninput.isinproject = this.UserinProject(id, ticket.Project.Project);
     return returninput;
 }
Пример #21
0
 private void PopulatePropertyBagForTicket(Ticket ticket)
 {
     PropertyBag["ticket"] = ticket;
     PropertyBag["projects"] = Project.FindAllOrderedByName();
     PropertyBag["users"] = User.FindAll();
     PropertyBag["types"] = Enum.GetNames(typeof(TicketType));
 }
        // POST api/logout
        public HttpResponseMessage Post(Ticket bilet)
        {
            if (!this.ModelState.IsValid)
            {
                //tutaj wywala ogolny blad gdy otrzymal zle dane
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.BadRequest));
            }

            loginAnswer reply = new loginAnswer { ok = 0, tocken = null };

            if (Zapytania.dodajBilet(bilet.name, bilet.price, bilet.date) == true)
            {
                reply.tocken = "ok";
                reply.ok = 0;
            }
            else
            {
                reply.tocken = "bad";
                reply.ok = 1;
            }

            HttpResponseMessage response = this.Request.CreateResponse(HttpStatusCode.Created, reply);

            return response;
        }
Пример #23
0
 private void OnSave(object sender, RoutedEventArgs e)
 {
     var h = new Hashtable();
     var title = m_title.Text;
     if (string.IsNullOrEmpty(title))
     {
         MessageBox.Show("Title must not be empty");
         return;
     }
     var t = new Ticket(App.Base, h)
     {
         TicketName = Ticket.CreateTicketName(title),
         Title = title,
         Opened = DateTime.Now,
         Assigned = m_assigned.Text,
         State=m_status.Text,
     };
     // add comment if any
     if (!string.IsNullOrEmpty(m_comment.Text))
         t.Comments.Add(new Comment(m_comment.Text));
     // add tags if any
     if (!string.IsNullOrEmpty(m_tags.Text))
         t.Tags.AddRange(m_tags.Text.Split(','));
     t.SaveNew();
     //if (TicketSaved != null)
         TicketSaved();
     //this.Close();
     //this.Owner.Focus();
 }
Пример #24
0
        public Attachment AddAttachment(int ticketId, string fileName, byte[] data, string comment = null)
        {
            var text = comment ?? string.Format("Attachment: {0}", fileName);
            var uploadResponse = UploadFile<UploadWrapper>(
                string.Format("uploads.json?filename={0}", fileName), null,
                new Dictionary<string, byte[]> { { fileName, data } });

            if (uploadResponse.StatusCode != HttpStatusCode.Created || uploadResponse.Data == null ||
                uploadResponse.Data.Upload == null || string.IsNullOrEmpty(uploadResponse.Data.Upload.Token) ||
                !uploadResponse.Data.Upload.Attachments.Any())
            {
                return null;
            }

            var uploadToken = uploadResponse.Data.Upload.Token;
            var ticket = new Ticket
            {
                Id = ticketId,
                Comment = new TicketComment
                {
                    Body = text,
                    Uploads = new[] { uploadToken }
                }
            };

            return UpdateTicket(ticket) != null ? uploadResponse.Data.Upload.Attachments.First() : null;
        }
Пример #25
0
        public void should_get_nothing_when_pick_bag_with_not_correct_ticket()
        {
            locker.Store(bag);

            var ticket1 = new Ticket();

            Assert.Null(locker.Pick(ticket1));
        }
Пример #26
0
 public Car PickUp(Ticket ticket)
 {
     if (!carList.ContainsKey(ticket))
         throw new WrongTicketException();
     var car = carList[ticket];
     carList.Remove(ticket);
     return car;
 }
Пример #27
0
 public bool IsCurrentScenicTicket(Ticket t)
 {
     t = new BLLTicket().GetTicket(t.Id);
     if (t.Scenic.Id == bllMember.GetScenicAdmin((Guid)CurrentUser.ProviderUserKey).Scenic.Id)
         return true;
     else
         return false;
 }
Пример #28
0
 public bool IsCurrentScenicTicket(Ticket t)
 {
     t = new BLLTicket().GetTicket(t.Id);
     if (t.Scenic.Id == Master.Scenic.Id)
         return true;
     else
         return false;
 }
Пример #29
0
 public bool IsTp(Ticket t)
 {
     BLLScenicTicket bllscenicticket = new BLLScenicTicket();
     IList<Scenic> list = bllscenicticket.GetScenicByTicket(t.Id);
     if (list.Count > 0)
         return true;
     return false;
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     t = bllTicket.GetOne(int.Parse(Request.QueryString["Id"]));
     if (!IsPostBack)
     {
         bindData();
     }
 }
Пример #31
0
 public void Delete(Ticket entity)
 {
     throw new NotImplementedException();
 }
Пример #32
0
        public void Seed()
        {
            //Pilot.RemoveRange(Pilot);
            //Stewardess.RemoveRange(Stewardess);
            //Ticket.RemoveRange(Ticket);
            //Flight.RemoveRange(Flight);
            //PLane.RemoveRange(PLane);
            //PlaneType.RemoveRange(PlaneType);

            //this.SaveChanges();

            ///////////////////////////////////////////////////////////////////////////////////////////////////////
            Pilot p1 = new Pilot()
            {
                Name       = "Skyler",
                Surname    = "Bunker",
                Birth      = new DateTime(1998, 6, 28),
                Experience = new TimeSpan(0, 1, 3, 4)
            };
            Pilot p2 = new Pilot()
            {
                Name       = "Garry",
                Surname    = "Murdoch",
                Birth      = new DateTime(1998, 6, 28),
                Experience = new TimeSpan(0, 1, 3, 4)
            };
            Pilot p3 = new Pilot()
            {
                Name       = "Dennisson",
                Surname    = "Keegan",
                Birth      = new DateTime(1998, 6, 28),
                Experience = new TimeSpan(0, 1, 3, 4)
            };

            if (!Pilot.Any())
            {
                Pilot.AddRange(p1, p2, p3);
            }
            /////////////////////////////////////////////////////////////////////////////////////////////////////////
            Stewardess s1 = new Stewardess
            {
                Name    = "Zelda",
                Surname = "Gouse",
                Birth   = new DateTime(1998, 6, 28),
            };
            Stewardess s2 = new Stewardess
            {
                Name    = "Anna",
                Surname = "Rosser",
                Birth   = new DateTime(1998, 6, 28),
            };
            Stewardess s3 = new Stewardess
            {
                Name    = "Bobina",
                Surname = "Vaccaro",
                Birth   = new DateTime(1998, 6, 28),
            };
            Stewardess s4 = new Stewardess
            {
                Name    = "Sharron",
                Surname = "Herwitz",
                Birth   = new DateTime(1998, 6, 28),
            };
            Stewardess s5 = new Stewardess
            {
                Name    = "Isa",
                Surname = "Dorwart",
                Birth   = new DateTime(1998, 6, 28),
            };

            if (!Stewardess.Any())
            {
                Stewardess.AddRange(s1, s2, s3, s4, s5);
            }
            ///////////////////////////////////////////////////////////////////////////////////////////////////////
            Crew cr1 = new Crew()
            {
                PilotId       = p1,
                StewardessIds = new List <Stewardess>()
                {
                    s1, s2
                }
            };
            Crew cr2 = new Crew()
            {
                PilotId       = p2,
                StewardessIds = new List <Stewardess>()
                {
                    s3, s5
                }
            };
            Crew cr3 = new Crew()
            {
                PilotId       = p3,
                StewardessIds = new List <Stewardess>()
                {
                    s4
                }
            };

            if (!Crew.Any())
            {
                Crew.AddRange(cr1, cr2, cr3);
            }
            ;
            ////////////////////////////////////////////////////////////////////////////////////////////////////////////

            Flight f1 = new Flight()
            {
                DeperturePlace = "Kyiv",
                DepartureTime  = new DateTime(1998, 6, 28),
                ArrivalPlace   = "London",
                ArrivalTime    = new DateTime(1998, 6, 28)
            };
            Flight f2 = new Flight()
            {
                DeperturePlace = "Kyiv",
                DepartureTime  = new DateTime(1998, 6, 28),
                ArrivalPlace   = "Manchester",
                ArrivalTime    = new DateTime(1998, 6, 28),
            };
            Flight f3 = new Flight()
            {
                DeperturePlace = "Kyiv",
                DepartureTime  = new DateTime(1998, 6, 28),
                ArrivalPlace   = "Frankfurt",
                ArrivalTime    = new DateTime(1998, 6, 28),
            };

            if (!Flight.Any())
            {
                Flight.AddRange(f1, f2, f3);
            }
            //////////////////////////////////////////////////////////////////////////////////////////////////////////////
            Ticket t1 = new Ticket()
            {
                Price     = 500,
                FlightNum = f1
            };
            Ticket t2 = new Ticket()
            {
                Price     = 800,
                FlightNum = f2
            };
            Ticket t3 = new Ticket()
            {
                Price     = 500,
                FlightNum = f1
            };
            Ticket t4 = new Ticket()
            {
                Price     = 800,
                FlightNum = f2
            };
            Ticket t5 = new Ticket()
            {
                Price     = 600,
                FlightNum = f3
            };
            Ticket t6 = new Ticket()
            {
                Price     = 600,
                FlightNum = f3
            };
            Ticket t7 = new Ticket()
            {
                Price     = 1000,
                FlightNum = f2
            };

            if (!Ticket.Any())
            {
                Ticket.AddRange(t1, t2, t3, t4, t5, t6, t7);
            }
            //////////////////////////////////////////////////////////////////////////////////////////////////////////
            PlaneType pt1 = new PlaneType()
            {
                Model         = "Airbus A310",
                Places        = 183,
                CarryCapacity = 164000
            };
            PlaneType pt2 = new PlaneType()
            {
                Model         = "Boeing",
                Places        = 235,
                CarryCapacity = 242000
            };

            if (!PlaneType.Any())
            {
                PlaneType.AddRange(pt1, pt2);
            }
            //////////////////////////////////////////////////////////////////////////////////////////////////////////
            Plane pl1 = new Plane()
            {
                Name         = "Skyshark",
                Made         = new DateTime(1998, 6, 28),
                Exploitation = new TimeSpan(0, 1, 3, 4),
                Type         = pt1
            };
            Plane pl2 = new Plane()
            {
                Name         = "Dragon",
                Made         = new DateTime(1998, 6, 28),
                Exploitation = new TimeSpan(0, 1, 3, 4),
                Type         = pt2
            };
            Plane pl3 = new Plane()
            {
                Name         = "Airking",
                Made         = new DateTime(1998, 6, 28),
                Exploitation = new TimeSpan(0, 1, 3, 4),
                Type         = pt2
            };
            Plane pl4 = new Plane()
            {
                Name         = "Kondor",
                Made         = new DateTime(1998, 6, 28),
                Exploitation = new TimeSpan(0, 1, 3, 4),
                Type         = pt2
            };

            if (!PLane.Any())
            {
                PLane.AddRange(pl1, pl2, pl3, pl4);
            }
            //////////////////////////////////////////////////////////////////////////////////////////////////////////
            TakeOff to1 = new TakeOff()
            {
                FlightNum = f1,
                CrewId    = cr3,
                PlaneId   = pl2,
                Date      = new DateTime(1998, 6, 28)
            };
            TakeOff to2 = new TakeOff()
            {
                FlightNum = f2,
                CrewId    = cr2,
                PlaneId   = pl4,
                Date      = new DateTime(1998, 6, 28)
            };
            TakeOff to3 = new TakeOff()
            {
                FlightNum = f1,
                CrewId    = cr1,
                PlaneId   = pl3,
                Date      = new DateTime(1998, 6, 28)
            };

            if (!TakeOff.Any())
            {
                TakeOff.AddRange(to1, to2, to3);
            }
        }
Пример #33
0
 public void OpenTicket(int id)
 {
     _applicationStateSetter.SetApplicationLocked(true);
     SelectedTicket = _ticketService.OpenTicket(id);
 }
 public void Create(Ticket item)
 {
     tickets.Add(item);
     SaveChanges();
 }
Пример #35
0
        public Ticket UpdateTicket(Ticket ticket)
        {
            Ticket result = _appRepo.UpdateTicket(ticket);

            return(result);
        }
Пример #36
0
 private TicketPrinter(Ticket ticket)
 {
     _ticket = ticket;
 }
Пример #37
0
 public static TicketPrinter For(Ticket ticket)
 {
     return(new TicketPrinter(ticket));
 }
Пример #38
0
        private void btnBookConfirm_Click(object sender, RoutedEventArgs e)
        {
            if (dgPassengers.Items.Count < Numpass)
            {
                MessageBox.Show($"Not enough {Numpass} passenger(s)", "Message", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            List <Ticket> tickets = new List <Ticket>();

            foreach (var p in passengers)
            {
                foreach (var item in OutboundFlight.Flights)
                {
                    Ticket t = new Ticket()
                    {
                        Firstname         = p.Firstname,
                        Lastname          = p.Lastname,
                        PassportNumber    = p.PassportNumber,
                        PassportCountryID = p.PassportCountryID,
                        Phone             = p.Phone,
                        Schedule          = item,
                        CabinType         = Cabin,
                        Confirmed         = true,
                        UserID            = User.ID,
                        Birthdate         = p.Birthdate,
                        Controled         = false,
                        Country           = countries[cbPassportCountry.SelectedIndex]
                    };

                    tickets.Add(t);
                }
                try
                {
                    foreach (var item in ReturnFlight.Flights)
                    {
                        Ticket t = new Ticket()
                        {
                            Firstname         = p.Firstname,
                            Lastname          = p.Lastname,
                            PassportNumber    = p.PassportNumber,
                            PassportCountryID = p.PassportCountryID,
                            Phone             = p.Phone,
                            Schedule          = item,
                            CabinType         = Cabin,
                            Confirmed         = true,
                            UserID            = User.ID,
                            Birthdate         = p.Birthdate,
                            Controled         = false,
                            Country           = countries[cbPassportCountry.SelectedIndex]
                        };

                        tickets.Add(t);
                    }
                }
                catch (Exception)
                {
                }
            }

            BillingConfirmationWindow wBillingCofirm = new BillingConfirmationWindow();

            wBillingCofirm.Tickets    = tickets;
            wBillingCofirm.TotalPrice = OutboundFlight.Price * Numpass;
            if (ReturnFlight != null)
            {
                wBillingCofirm.TotalPrice += ReturnFlight.Price * Numpass;
            }

            this.Opacity = 0.7;
            wBillingCofirm.ShowDialog();

            if (wBillingCofirm.IsConfirm)
            {
                this.Close();
            }
            else
            {
                this.Opacity = 1;
                this.Show();
            }
        }
Пример #39
0
 // Update Ticket
 public void UpdateTicket(Ticket myTicket)
 {
     ticketC.Update(myTicket);
 }
 private void UpdateOrderState(Ticket ticket, Order order, string stateName, string state)
 {
     _ticketService.UpdateOrderStates(ticket, new List <Order> {
         order
     }, stateName, null, 0, state, 0, "");
 }
Пример #41
0
 /// <summary>
 ///     Get the cost for a ticket.
 /// </summary>
 private int GetTicketCost(Ticket ticket) => 1200;
Пример #42
0
        public TicketReport_TicketDTO(Ticket Ticket)
        {
            this.Id                     = Ticket.Id;
            this.Name                   = Ticket.Name;
            this.Phone                  = Ticket.Phone;
            this.CustomerId             = Ticket.CustomerId;
            this.UserId                 = Ticket.UserId;
            this.CustomerTypeId         = Ticket.CustomerTypeId;
            this.CreatorId              = Ticket.CreatorId;
            this.ProductId              = Ticket.ProductId;
            this.ReceiveDate            = Ticket.ReceiveDate;
            this.ProcessDate            = Ticket.ProcessDate;
            this.FinishDate             = Ticket.FinishDate;
            this.Subject                = Ticket.Subject;
            this.Content                = Ticket.Content;
            this.TicketIssueLevelId     = Ticket.TicketIssueLevelId;
            this.TicketPriorityId       = Ticket.TicketPriorityId;
            this.TicketStatusId         = Ticket.TicketStatusId;
            this.TicketSourceId         = Ticket.TicketSourceId;
            this.TicketNumber           = Ticket.TicketNumber;
            this.DepartmentId           = Ticket.DepartmentId;
            this.RelatedTicketId        = Ticket.RelatedTicketId;
            this.SLA                    = Ticket.SLA;
            this.RelatedCallLogId       = Ticket.RelatedCallLogId;
            this.ResponseMethodId       = Ticket.ResponseMethodId;
            this.ReferenceId            = Ticket.EntityReferenceId;
            this.TicketResolveTypeId    = Ticket.TicketResolveTypeId;
            this.ResolveContent         = Ticket.ResolveContent;
            this.StatusId               = Ticket.StatusId;
            this.IsAlerted              = Ticket.IsAlerted;
            this.IsAlertedFRT           = Ticket.IsAlertedFRT;
            this.IsEscalated            = Ticket.IsEscalated;
            this.IsEscalatedFRT         = Ticket.IsEscalatedFRT;
            this.closedAt               = Ticket.closedAt;
            this.AppUserClosedId        = Ticket.AppUserClosedId;
            this.FirstResponseAt        = Ticket.FirstResponseAt;
            this.LastResponseAt         = Ticket.LastResponseAt;
            this.LastHoldingAt          = Ticket.LastHoldingAt;
            this.ReraisedTimes          = Ticket.ReraisedTimes;
            this.ResolvedAt             = Ticket.ResolvedAt;
            this.AppUserResolvedId      = Ticket.AppUserResolvedId;
            this.IsClose                = Ticket.IsClose;
            this.IsOpen                 = Ticket.IsOpen;
            this.IsWait                 = Ticket.IsWait;
            this.IsWork                 = Ticket.IsWork;
            this.SLAPolicyId            = Ticket.SLAPolicyId;
            this.HoldingTime            = Ticket.HoldingTime;
            this.FirstResponeTime       = Ticket.FirstResponeTime;
            this.ResolveTime            = Ticket.ResolveTime;
            this.FirstRespTimeRemaining = Ticket.FirstRespTimeRemaining;
            this.ResolveTimeRemaining   = Ticket.ResolveTimeRemaining;
            this.SLAStatusId            = Ticket.SLAStatusId;
            this.ResolveMinute          = Ticket.ResolveMinute;
            this.SLAOverTime            = Ticket.SLAOverTime;
            this.Used                   = Ticket.Used;
            this.AppUserClosed          = Ticket.AppUserClosed == null ? null : new TicketReport_AppUserDTO(Ticket.AppUserClosed);
            this.AppUserResolved        = Ticket.AppUserResolved == null ? null : new TicketReport_AppUserDTO(Ticket.AppUserResolved);
            this.Creator                = Ticket.Creator == null ? null : new TicketReport_AppUserDTO(Ticket.Creator);
            this.Customer               = Ticket.Customer == null ? null : new TicketReport_CustomerDTO(Ticket.Customer);
            this.CustomerType           = Ticket.CustomerType == null ? null : new TicketReport_CustomerTypeDTO(Ticket.CustomerType);

            this.RelatedTicket     = Ticket.RelatedTicket == null ? null : new TicketReport_TicketDTO(Ticket.RelatedTicket);
            this.SLAStatus         = Ticket.SLAStatus == null ? null : new TicketReport_SLAStatusDTO(Ticket.SLAStatus);
            this.TicketIssueLevel  = Ticket.TicketIssueLevel == null ? null : new TicketReport_TicketIssueLevelDTO(Ticket.TicketIssueLevel);
            this.TicketPriority    = Ticket.TicketPriority == null ? null : new TicketReport_TicketPriorityDTO(Ticket.TicketPriority);
            this.TicketStatus      = Ticket.TicketStatus == null ? null : new TicketReport_TicketStatusDTO(Ticket.TicketStatus);
            this.User              = Ticket.User == null ? null : new TicketReport_AppUserDTO(Ticket.User);
            this.TicketSource      = Ticket.TicketSource == null ? null : new TicketReport_TicketSourceDTO(Ticket.TicketSource);
            this.TicketResolveType = Ticket.TicketResolveType == null ? null : new TicketReport_TicketResolveTypeDTO(Ticket.TicketResolveType);
            this.Department        = Ticket.Department == null ? null : new TicketReport_OrganizationDTO(Ticket.Department);


            this.CreatedAt = Ticket.CreatedAt;
            this.UpdatedAt = Ticket.UpdatedAt;
            this.Errors    = Ticket.Errors;

            //this.Product = Ticket.Product == null ? null : new TicketReport_ProductDTO(Ticket.Product);
            //this.Reference = Ticket.Reference == null ? null : new TicketReport_EntityReferenceDTO(Ticket.Reference);
            //this.RelatedCallLog = Ticket.RelatedCallLog == null ? null : new TicketReport_CallLogDTO(Ticket.RelatedCallLog);
            //this.SLAPolicy = Ticket.SLAPolicy == null ? null : new TicketReport_SLAPolicyDTO(Ticket.SLAPolicy);
            //this.Status = Ticket.Status == null ? null : new TicketReport_StatusDTO(Ticket.Status);
        }
Пример #43
0
        public Ticket GetActiveTicket(int ticketId)
        {
            Ticket result = _appRepo.GetTicket(ticketId);

            return(result);
        }
Пример #44
0
 public void Save(Ticket ticket)
 {
     Dao.Save(ticket);
 }
Пример #45
0
        public Ticket AddTicket(Ticket ticket)
        {
            var result = _appRepo.AddTicket(ticket);

            return(result);
        }
Пример #46
0
 public TicketCommitResult CheckConcurrency(Ticket ticket)
 {
     return(new TicketCommitResult {
         ErrorMessage = Dao.CheckConcurrency(ticket)
     });
 }
        public static string ImportCustomerTickets(CinemaContext context, string xmlString)
        {
            var attr       = new XmlRootAttribute("Customers");
            var serializer = new XmlSerializer(typeof(List <CustomerDto>), attr);

            var validProjectionIds = context
                                     .Projections
                                     .Select(p => p.Id)
                                     .ToList();

            StringBuilder sb             = new StringBuilder();
            var           validCustomers = new List <Customer>();

            using (StringReader reader = new StringReader(xmlString))
            {
                var customersDto = (List <CustomerDto>)serializer.Deserialize(reader);

                foreach (var dto in customersDto)
                {
                    if (!IsValid(dto) ||
                        dto.Tickets.Any(t => !IsValid(t)) ||
                        dto.Tickets.Any(t => !validProjectionIds
                                        .Contains(t.ProjectionId)))
                    {
                        sb.AppendLine(ErrorMessage);
                        continue;
                    }

                    var customer = new Customer
                    {
                        FirstName = dto.FirstName,
                        LastName  = dto.LastName,
                        Age       = dto.Age,
                        Balance   = dto.Balance
                    };

                    var customerTickets = new List <Ticket>();

                    foreach (var ticket in dto.Tickets)
                    {
                        var ticketToAdd = new Ticket
                        {
                            Price        = ticket.Price,
                            Customer     = customer,
                            ProjectionId = ticket.ProjectionId
                        };

                        customerTickets.Add(ticketToAdd);
                    }

                    customer.Tickets = customerTickets;
                    validCustomers.Add(customer);

                    sb.AppendLine(string.Format(SuccessfulImportCustomerTicket, customer.FirstName, customer.LastName, customer.Tickets.Count));
                }
            }

            context.Customers.AddRange(validCustomers);
            context.SaveChanges();

            return(sb.ToString().TrimEnd());
        }
Пример #48
0
 private bool ShouldDisplayTicketTagList(Ticket ticket)
 {
     return(ticket != null &&
            ticket.Orders.Count == 0 &&
            _applicationState.GetTicketTagGroups().Any(x => x.AskBeforeCreatingTicket && !ticket.IsTaggedWith(x.Name)));
 }
Пример #49
0
        public ActionResult DisplayTicket(Ticket ticket)
        {
            Ticket model = TicketRepository.Get(ticket.ID, ticket.FirstName, ticket.LastName);

            return(View(model));
        }
Пример #50
0
 public WrongTicket(Ticket ticket, int wrongValue)
 {
     Ticket     = ticket;
     WrongValue = wrongValue;
 }
Пример #51
0
 // Create Ticket
 public void CreateTicket(Ticket myTicket)
 {
     ticketC.Create(myTicket);
 }
Пример #52
0
        public async Task <ActionResult <object> > Post_BettingOn_Xien_Lotto(BettingOnXien bettingOnXien)
        {
            /*
             * Nhận về là 1 string => danh sách các con số được ngăn cách nhau bởi dấu ";" or "," or " "
             * Xử lí: Tách chuỗi để lấy ra các con đề rồi insert vào db với các tài khoản tương ứng ticket
             */

            try
            {
                if (string.IsNullOrEmpty(bettingOnXien.XienArray))
                {
                    return(BadRequest(new ResponseResult("Lỗi đặt cược!, danh sách cược không thể để trống.")));
                }

                // trường hợp không phải đầu cũng không phải đuôi thì xử lí bên dưới!
                var xienList = new List <string>();
                if (bettingOnXien.DivideType == DivideType.Comma)
                {
                    xienList = new List <string>(bettingOnXien.XienArray.Split(','));
                }

                if (bettingOnXien.DivideType == DivideType.SemiColon)
                {
                    xienList = new List <string>(bettingOnXien.XienArray.Split(';'));
                }

                if (bettingOnXien.DivideType == DivideType.Space)
                {
                    xienList = new List <string>(bettingOnXien.XienArray.Split(' '));
                }



                if (xienList.Count <= 1)
                {
                    return(BadRequest(new ResponseResult("Chọn sai định dạng ngăn cách!")));
                }

                // loại bỏ các khoảng cách thừa và các phần tử rỗng
                xienList = xienList.Select(innerItem => innerItem?.Trim())
                           .Where(x => (
                                      !string.IsNullOrEmpty(x) &&
                                      !string.IsNullOrWhiteSpace(x)) &&
                                  CheckNumber(x)
                                  ).ToList();



                if (xienList.Count == 0)
                {
                    return(BadRequest(new ResponseResult("Bộ sô cược của bạn chọn không phù hợp. Yêu cầu kiểm tra lại!")));
                }

                // kiểm tra xem đủ xiền để đặt với bộ số lọc đc ở trên không
                var walletOfUser = await _context.Wallets.Where(x => x.UserId == bettingOnXien.UserId.ToString()).FirstOrDefaultAsync();

                if (walletOfUser == null)
                {
                    return(BadRequest(new ResponseResult("Không tìm thấy ví của bạn!")));
                }

                double feeTotal = 0;
                double fee      = BettingOnPrice.LoXien;

                feeTotal = xienList.Count * bettingOnXien.MultipleNumber * fee;


                if (walletOfUser.Coin <= 0 || walletOfUser.Coin < feeTotal)
                {
                    return(BadRequest(new ResponseResult("Số dư của bạn không đủ để đặt cược")));
                }



                // trừ tiền ở ví trước khi đặt cược

                walletOfUser.Coin -= feeTotal;

                _context.Wallets.Update(walletOfUser);
                _context.SaveChanges();


                var currentProfit = await _context.ProfitPercents.Where(x =>
                                                                        x.Status == Status.Active &&
                                                                        x.RegionStatus == bettingOnXien.RegionStatus &&
                                                                        x.ProvincialCity == bettingOnXien.ProvincialCity
                                                                        ).FirstOrDefaultAsync();

                var ticket = new Ticket()
                {
                    RegionStatus   = currentProfit.RegionStatus,
                    Lo2So1K        = currentProfit.Lo2So1K,
                    Lo2So          = currentProfit.Lo2So,
                    Lo2SoDau       = currentProfit.Lo2SoDau,
                    Lo3So          = currentProfit.Lo3So,
                    Lo4So          = currentProfit.Lo4So,
                    Cang3          = currentProfit.Cang3,
                    Dau            = currentProfit.Dau,
                    Cang4          = currentProfit.Cang4,
                    DeDacBiet      = currentProfit.DeDacBiet,
                    DeDauDacBiet   = currentProfit.DeDauDacBiet,
                    DeGiai7        = currentProfit.DeGiai7,
                    DeGiaiNhat     = currentProfit.DeGiaiNhat,
                    DeDau          = currentProfit.DeDau,
                    DeDauDuoi      = currentProfit.DeDauDuoi,
                    Duoi           = currentProfit.Duoi,
                    TruotXien10    = currentProfit.TruotXien10,
                    TruotXien4     = currentProfit.TruotXien4,
                    TruotXien8     = currentProfit.TruotXien8,
                    Xien2          = currentProfit.Xien2,
                    Xien3          = currentProfit.Xien3,
                    Xien4          = currentProfit.Xien4,
                    UserId         = bettingOnXien.UserId,
                    Status         = Status.Active,
                    DateCreated    = DateTime.Now,
                    De_Total       = 0,
                    Bao_Total      = 0,
                    Cang_Total     = 0,
                    Xien_Total     = feeTotal,
                    ProvincialCity = bettingOnXien.ProvincialCity,
                    Id             = Guid.NewGuid().ToString()
                };


                ticket.Content = "Xiên: ";

                foreach (var item in xienList)
                {
                    ticket.Content += item + " ";
                }

                ticket.Content += "\nĐơn giá: " + fee * bettingOnXien.MultipleNumber;

                await _context.Tickets.AddAsync(ticket);

                _context.SaveChanges();

                List <Xien_Lotto> xien_Lottos = new List <Xien_Lotto>();

                foreach (var xien in xienList)
                {
                    var xienTemp = new Xien_Lotto()
                    {
                        Value            = xien,
                        Xien_LottoStatus = bettingOnXien.Xien_LottoStatus,
                        RegionStatus     = bettingOnXien.RegionStatus,
                        ProvincialCity   = bettingOnXien.ProvincialCity,
                        Price            = fee * bettingOnXien.MultipleNumber,
                        IsGoal           = null,
                        DateCreated      = DateTime.Now,
                        Status           = Status.Active,
                        TicketId         = ticket.Id,
                    };

                    xien_Lottos.Add(xienTemp);
                }

                await _context.Xien_Lottos.AddRangeAsync(xien_Lottos);

                _context.SaveChanges();


                return(Ok("Đặt cược thành công!"));
            }
            catch (DbUpdateException e)
            {
                return(BadRequest(new ResponseResult("Lỗi không xác định! " + e.Message)));
            }
            catch (Exception e)
            {
                return(BadRequest(new ResponseResult("Lỗi không xác định! " + e.Message)));
            }
        }
Пример #53
0
        static void Main(string[] args)
        {
            var         serviceProvider = DIConfig.ConfigDI();
            DataService dataService     = serviceProvider
                                          .GetService <DataService>();

            //new DataService();

            Console.WriteLine("=== Ticket Management ===");
            bool quit = false;

            do
            {
                #region Main Loop
                Console.Write("Comando: ");
                string command = Console.ReadLine();
                Console.WriteLine();

                switch (command)
                {
                case "h":
                    Console.WriteLine("Help");
                    Console.WriteLine("q: quit | a: add ticket");
                    Console.WriteLine("n: add note | l: list ticket");
                    Console.WriteLine("e: edit ticket");
                    break;

                case "q":
                    quit = true;
                    break;

                case "a":
                    // ADD
                    // codice per recuperare i dati di un ticket ...
                    Ticket ticket = new Ticket();
                    ticket.Title       = GetData("Titolo");
                    ticket.Description = GetData("Descrizione");
                    ticket.Category    = GetData("Categoria");
                    ticket.Priority    = GetData("Priorità");
                    ticket.Requestor   = "Roberto Ajolfi";
                    ticket.State       = "New";
                    ticket.IssueDate   = DateTime.Now;

                    var result = dataService.Add(ticket);
                    Console.WriteLine("Operation " + (result ? "Completed" : "Failed!"));
                    break;

                case "n":
                    // ADD NOTE
                    var ticketId = GetData("Ticket ID");
                    int.TryParse(ticketId, out int tId);
                    var  comments = GetData("Commento");
                    Note newNote  = new Note {
                        TicketId = tId,
                        Comments = comments
                    };

                    var noteResult = dataService.AddNote(newNote);
                    Console.WriteLine("Operation " + (noteResult ? "Completed" : "Failed!"));
                    break;

                case "l":
                    // LIST
                    Console.WriteLine("-- TICKET LIST (EAGER) --");
                    foreach (var t in dataService.List())
                    {
                        Console.WriteLine($"[{t.Id}] {t.Title}");
                        if (t.Notes != null)
                        {
                            foreach (var n in t.Notes)
                            {
                                Console.WriteLine($"\t{n.Comments}");
                            }
                        }
                    }
                    Console.WriteLine("-----------------");
                    break;

                case "e":
                    // EDIT
                    var ticketId3 = GetData("Ticket ID");
                    int.TryParse(ticketId3, out int tId3);
                    var ticket3 = dataService.GetTicketById(tId3);

                    ticket3.Title       = GetData("Title", ticket3.Title);
                    ticket3.Description = GetData("Descrizione", ticket3.Description);
                    ticket3.Category    = GetData("Categoria", ticket3.Category);
                    ticket3.Priority    = GetData("Priorità", ticket3.Priority);
                    ticket3.State       = GetData("Stato", ticket3.State);

                    var editResult = dataService.Edit(ticket3);
                    Console.WriteLine("Operation " + (editResult ? "Completed" : "Failed!"));
                    break;

                case "d":
                    // DELETE
                    break;

                default:
                    Console.WriteLine("Comando sconosciuto.");
                    break;
                }

                #endregion
            } while (!quit);

            Console.WriteLine("=== Bye Bye ===");
        }
        public ActionResult EditTicket(int id)
        {
            Ticket ticket = ticketService.GetTicketById(id);

            List <SelectListItem> categoriesSelect = new List <SelectListItem>();
            var categories = ticketService.GetAllCategories();

            foreach (var category in categories)
            {
                categoriesSelect.Add(new SelectListItem()
                {
                    Text     = category.Name,
                    Value    = "" + category.Id,
                    Selected = category.Id == ticket.CategoryID ? true : false
                });
            }

            List <SelectListItem> statusSelect = new List <SelectListItem>();
            var statusList = ticketService.GetAllStatus();

            foreach (var status in statusList)
            {
                statusSelect.Add(new SelectListItem()
                {
                    Text     = status.Name,
                    Value    = "" + status.Id,
                    Selected = status.Id == ticket.StatusID ? true : false
                });
            }

            List <SelectListItem> prioritiesSelect = new List <SelectListItem>();
            var priorities = ticketService.GetAllPriorities();

            foreach (var priority in priorities)
            {
                prioritiesSelect.Add(new SelectListItem()
                {
                    Text     = priority.Name,
                    Value    = "" + priority.Id,
                    Selected = priority.Id == ticket.PriorityID ? true : false
                });
            }

            List <SelectListItem> usersSelect = new List <SelectListItem>();
            var users = ticketService.GetAllUsers();

            foreach (var user in users)
            {
                usersSelect.Add(new SelectListItem()
                {
                    Text     = user.Email,
                    Value    = "" + user.Id,
                    Selected = user.Id == ticket.RecepientID ? true : false
                });
            }
            ViewBag.CategoriesList = categoriesSelect;
            ViewBag.StatusList     = statusSelect;
            ViewBag.PrioritiesList = prioritiesSelect;
            ViewBag.UsersList      = usersSelect;

            ticket.LastModificationDate = DateTime.Now;

            return(PartialView("_Edit", ticket));
        }
Пример #55
0
 public Ticket Add(Ticket ticket)
 {
     _context.Tickets.Add(ticket);
     return(ticket);
 }
Пример #56
0
        public void Update(string id, Ticket ticket)
        {
            var original = _tickets[id];

            original.State = ticket.State;
        }
Пример #57
0
 public void Add(Ticket ticket)
 {
     ticket.Id = (_tickets.Count + 1).ToString();
     _tickets.Add(ticket.Id, ticket);
 }
Пример #58
0
 public static TicketDto GetDto(Ticket ticket)
 {
     return(new TicketDto(ticket.ShowId, ticket.PurchaserName, ticket.Number));
 }
Пример #59
0
 public void AddTicket(Ticket ticket)
 {
     _insecticContext.Tickets.Add(ticket);
     _insecticContext.SaveChanges();
 }
Пример #60
0
        /// <summary>Scanner out of the transport - train station barrier/conductor's reader</summary>
        /// <returns>Balance left on account, -1 means it has been denied, 0 is primarily for pre-paid tickets</returns>
        /// <param name="id">The id of the token</param>
        /// <param name="line">The name of the line on (circle/victoria)</param>
        public float readTokenAtExit(int id, string line)
        {
            Token exitToken = SetOfTokens.Instance.findToken(id);

            if (exitToken == null)
            {
                throw new ArgumentException("Travel Token not valid!");
            }
            //make sure token has been scanned on the way in
            if (exitToken.getScannedStatus())
            {
                switch (exitToken.getType())
                {
                case TokenType.SmartCard:

                    Journey currentJourney = SetOfJourneys.Instance.findTokensMostRecentJourney(id);
                    int     todaysJourneys = exitToken.getNumOfJourneys();
                    int     dayPass        = FareRules.Instance.getNumForDayPass();
                    bool    alreadyPaid    = exitToken.hasDiscount();
                    //check if theyve gone in and come out of the same location within 15mins and not to charge them
                    if (currentJourney.getStartLocation() == currentLocation.getLocation() && (currentTime.Subtract(currentJourney.getStartDate()).TotalMinutes < 15))
                    {
                        currentJourney.setEndDate(DateTime.Now);
                        currentJourney.setToLocation(currentLocation.getLocation());
                        exitToken.setScanned(false);
                        return(exitToken.getAccount().getCreditAmount());
                    }
                    float cTripFare = FareRules.Instance.calculateFare(line, currentJourney.getStartLocation(), currentLocation.getLocation());
                    if (dayPass <= todaysJourneys && !alreadyPaid)
                    {
                        float dayPassCost = FareRules.Instance.calculateDiscount(todaysJourneys);     //returns cost of day pass
                        //Day pass cost was put in to stop the system charging you for a day pass if you took lots of cheap
                        //trips that cost less than a day pass
                        float amount = SetOfJourneys.Instance.getAmountForAllJourneys(id);     //get totalAmountPaid
                        //Refund you if youre ever charged more than a day pass. Should never happen due to the following checks
                        if (amount > dayPassCost)
                        {
                            exitToken.getAccount().updateBalance(amount - dayPassCost); //refunds any cost over daypass
                            exitToken.setDiscounted(true);                              //applys day pass to account
                            currentJourney.setEndDate(DateTime.Now);
                            currentJourney.setToLocation(currentLocation.getLocation());
                            exitToken.setScanned(false);     //sets token to have exited the system
                            //if this isnt done smart cards wouldnt be allowed to re-enter
                            return(exitToken.getAccount().getCreditAmount());
                        }
                        else if ((amount + cTripFare) > dayPassCost)    //check wheather the amount of your current trip qualifys you for a day pass
                        {
                            //If you qualify it subtracts the amount youve currently paid from the day pass
                            //you are then only charge what is left of the day pass amount
                            currentJourney.setAmountPaid((dayPassCost - amount));
                            //checks if they can afford the remaining cost for day pass.
                            //If they cant afford this they couldnt afford the trip which would have been more expensive
                            if (currentJourney.getAmountPaid() > exitToken.getAccount().getCreditAmount())
                            {
                                return(-1);    //insufficient credit.
                            }
                            exitToken.getAccount().updateBalance(-currentJourney.getAmountPaid());
                            //apply daypass
                            exitToken.setDiscounted(true);
                            currentJourney.setEndDate(DateTime.Now);
                            currentJourney.setToLocation(currentLocation.getLocation());
                            exitToken.setScanned(false);
                            //return remaining balance
                            return(exitToken.getAccount().getCreditAmount());
                        }
                    }
                    //check if theyve qualified for day pass
                    if (alreadyPaid)
                    {
                        currentJourney.setEndDate(DateTime.Now);
                        currentJourney.setToLocation(currentLocation.getLocation());
                        //if day pass is active the cost of the trip is 0
                        currentJourney.setAmountPaid(0.0f);
                        exitToken.setScanned(false);
                        return(exitToken.getAccount().getCreditAmount());
                    }
                    else
                    {
                        currentJourney.setAmountPaid(cTripFare);
                        if (currentJourney.getAmountPaid() > exitToken.getAccount().getCreditAmount())
                        {
                            return(-1);    //insufficient credit.
                        }
                        else
                        {
                            //Normal trip when you dont qualify for day pass
                            exitToken.getAccount().updateBalance(-currentJourney.getAmountPaid());
                            currentJourney.setEndDate(DateTime.Now);
                            currentJourney.setToLocation(currentLocation.getLocation());
                            exitToken.setScanned(false);
                            return(exitToken.getAccount().getCreditAmount());
                        }
                    }

                case TokenType.Ticket:      // if it's a ticket, just check the end location matches the current location
                    Ticket t = (exitToken as Ticket);
                    if (t.getEnd().getLocation() == currentLocation.getLocation())
                    {
                        return(0);      // entry allowed
                    }
                    else
                    {
                        return(-1);    // entry not allowed
                    }
                }
            }
            throw new ArgumentException("SmartCard never scanned on entry visit information helpdesk");
        }