Exemple #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            string start = startComboBox.SelectedItem.ToString();
            string end   = endComboBox.SelectedItem.ToString();

            TicketPrice result = new TicketPrice();

            if (toSouthRadioButton.Checked)
            {
                result = tickets.Find((x) => x.Startstation == start && x.Endstation == end);
            }
            if (toNorthRadioButton.Checked)
            {
                result = tickets.Find((x) => x.Startstation == end && x.Endstation == start);
            }

            decimal total = (decimal)result.Price;

            if (checkBox1.Checked)
            {
                total = total * (decimal)0.9;
            }
            if (checkBox2.Checked)
            {
                total = total * (decimal)0.9;
            }

            label4.Text = ((int)total).ToString();
        }
Exemple #2
0
        public async Task <IActionResult> Edit(int id, [Bind("TicketID,TicketName,Price,AirlineName")] TicketPrice ticketPrice)
        {
            if (id != ticketPrice.TicketID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(ticketPrice);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!TicketPriceExists(ticketPrice.TicketID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AirlineID"] = new SelectList(_context.Airline, "AirlineName", "AirlineName", ticketPrice.AirlineID);
            return(View(ticketPrice));
        }
Exemple #3
0
        public ActionResult Processed(List <SelectedSeatsViewModel> selected_seats, int?session_id)
        {
            if (!IsValidSelectedSeats(selected_seats, session_id) || !ModelState.IsValid)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Session session = sessionRepository.FindBy(x => x.Id == session_id).FirstOrDefault();
            List <OrderItemViewModel> orderItems = new List <OrderItemViewModel>();

            foreach (var item in selected_seats)
            {
                TicketPrice ticketPrice = session.TicketPrices.FirstOrDefault(x => x.Seat.Row == item.Row && x.Seat.Number == item.Number);
                orderItems.Add(new OrderItemViewModel {
                    Price = ticketPrice.Price, SeatRow = item.Row, SeatNumber = item.Number
                });
            }

            OrderProcessedViewModel model = new OrderProcessedViewModel
            {
                OrderItems     = orderItems,
                SessionId      = session.Id,
                SessionDate    = session.DateTime,
                CinemaHallName = session.CinemaHall.Name,
                CinemaName     = session.CinemaHall.Cinema.Name,
                MovieName      = session.Movie.Name,
                Session        = session
            };

            return(View(model));
        }
Exemple #4
0
        // POST: api/Tickets
        //[ResponseType(typeof(void))]
        public IHttpActionResult PostTicket(PomModelForAddTicketPayPal pom)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Ticket ticket = new Ticket();

            AppUser      appUser = _unitOfWork.AppUsers.Find(user => user.Email == pom.pomModelForBuyTicket.Email).FirstOrDefault();
            TypeOfTicket tt      = _unitOfWork.TypeOfTickets.Find(s => s.Name == pom.pomModelForBuyTicket.TypeOfTicket).FirstOrDefault();

            PriceList pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now);


            TicketPrice ticketPrice = _unitOfWork.TicketPrices.Find(a => a.TypeOfTicketId == tt.Id && pList.Id == a.PriceListId).FirstOrDefault();

            double coeff = _unitOfWork.PassangerTypes.Find(dd => dd.Id == appUser.PassangerTypeId).FirstOrDefault().RoleCoefficient;
            double c     = ticketPrice.Price - (ticketPrice.Price * coeff);

            ticket.PriceOfTicket = c;

            ticket.AppUserId      = appUser.Id;
            ticket.TicketPriceId  = ticketPrice.Id;
            ticket.Valid          = true;
            ticket.PurchaseDate   = DateTime.Now;
            ticket.TypeOfTicketId = tt.Id;
            ticket.Email          = pom.pomModelForBuyTicket.Email;
            ticket.PayPalModelId  = pom.PayPalModelId;

            _unitOfWork.Tickets.Add(ticket);
            _unitOfWork.Complete();

            return(Ok(ticket.Id));
        }
Exemple #5
0
        public IHttpActionResult PutTicketPrice(int id, TicketPrice ticketPrice)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != ticketPrice.Id)
            {
                return(BadRequest());
            }

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

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemple #6
0
        public ActionResult ReserveTickets(List <SelectedSeatsViewModel> selected_seats, int?session_id)
        {
            if (!IsValidSelectedSeats(selected_seats, session_id) || !ModelState.IsValid)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            ApplicationUserManager userMgr = new ApplicationUserManager(new UserStore <ApplicationUser>(context));
            var user = userMgr.FindByName(User.Identity.Name);

            // якщо в юзера вже заброньовано більше 10 квитків - не дозволю йому бронювати більше, поки він не сплатить заброньовані замовлення
            if (user.Orders.Where(x => x.OrderStatusId == 2).Sum(x => x.OrderItems.Count) + selected_seats.Count > 10)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Session session = sessionRepository.FindBy(x => x.Id == session_id).FirstOrDefault();

            if (session.DateTime < DateTime.Now.AddMinutes(35))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // створюю список позицій замовлення (квитків)
            List <OrderItem> orderItems = new List <OrderItem>();

            foreach (var item in selected_seats)
            {
                TicketPrice ticketPrice = session.TicketPrices.FirstOrDefault(x => x.Seat.Row == item.Row && x.Seat.Number == item.Number);
                orderItems.Add(new OrderItem
                {
                    Movie  = session.Movie,
                    Price  = ticketPrice.Price,
                    Ticket = new Ticket
                    {
                        SessionDateTime  = session.DateTime,
                        CreationDateTime = DateTime.Now,
                        TicketPrice      = ticketPrice,
                        Seat             = ticketPrice.Seat,
                        StatusId         = 2, // заброньовано (видалиться за 30хв до початку сеансу)
                    }
                });
            }

            // створюю замовлення та зберігаю його в бд
            Order order = new Order
            {
                OrderItems    = orderItems,
                OrderStatusId = 2, // не сплачено (заброньовано)
                User          = userMgr.FindByName(User.Identity.Name),
                PurchaseDate  = DateTime.Now
            };

            orderRepository.AddOrUpdate(order);
            orderRepository.Save();
            TicketHub.NotifyToAllClients();

            return(View());
        }
        public async Task <ActionResult <TicketPrice> > PostMovie(TicketPrice ticketPrice)
        {
            dataContext.TicketPrices.Add(ticketPrice);
            await dataContext.SaveChangesAsync();


            return(ticketPrice);
        }
Exemple #8
0
        public IHttpActionResult GetTicketPrices(int id)
        {
            TicketPrice ticketPrices = _unitOfWork.TicketPrices.Get(id);

            if (ticketPrices == null)
            {
                return(NotFound());
            }

            return(Ok(ticketPrices));
        }
        public void TicketPriceMustReturnNotNullableTicket()
        {
            var mockTicketService = new Mock <ITicketService>();

            mockTicketService.Setup(p => p.GetTicketPrice(1)).Returns(100);
            mockTicketService.Setup(p => p.GetTicketPrice(2)).Returns(500);
            mockTicketService.Setup(p => p.GetTicketPrice(3)).Returns(7800);

            var ticketPriceTest = new TicketPrice(mockTicketService.Object);

            Assert.That(ticketPriceTest.MakeTicketPrice(3) == 7800);
        }
Exemple #10
0
        public async Task <IActionResult> Create([Bind("TicketID,TicketName,Price,AirlineName")] TicketPrice ticketPrice)
        {
            if (ModelState.IsValid)
            {
                _context.Add(ticketPrice);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            ViewData["AirlineID"] = new SelectList(_context.Airline, "AirlineName", "AirlineName", ticketPrice.AirlineID);
            return(View(ticketPrice));
        }
Exemple #11
0
        public bool PostPriceList(PomModelTicketPrices ticketPrices)
        {
            if (!ModelState.IsValid)
            {
                return(false);
            }

            if (CheckDateTime(ticketPrices.PriceList) == "No")
            {
                return(false);
            }



            PriceList priceList = new PriceList();

            priceList = ticketPrices.PriceList;
            //priceList.FromTime = ticketPrices.PriceList.FromTime.Value.AddHours(23);
            priceList.ToTime = ticketPrices.PriceList.ToTime.Value.AddHours(23).AddMinutes(59).AddSeconds(59);

            priceList.ListOfTicketPrices = new List <TicketPrice>();
            TicketPrice ticketPrice = new TicketPrice
            {
                TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "TimeLimited").FirstOrDefault().Id,
                Price          = ticketPrices.TimeLimited
            };

            priceList.ListOfTicketPrices.Add(ticketPrice);
            ticketPrice = new TicketPrice
            {
                TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Daily").FirstOrDefault().Id,
                Price          = ticketPrices.Daily
            };
            priceList.ListOfTicketPrices.Add(ticketPrice);
            ticketPrice = new TicketPrice
            {
                TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Monthly").FirstOrDefault().Id,
                Price          = ticketPrices.Monthly
            };
            priceList.ListOfTicketPrices.Add(ticketPrice);
            ticketPrice = new TicketPrice
            {
                TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Annual").FirstOrDefault().Id,
                Price          = ticketPrices.Annual
            };

            priceList.ListOfTicketPrices.Add(ticketPrice);

            _unitOfWork.PriceLists.Add(priceList);
            _unitOfWork.Complete();

            return(true);
        }
Exemple #12
0
        private void priceManage_Click(object sender, EventArgs e)
        {
            TicketPrice price = new TicketPrice();

            this.Hide();
            DialogResult dr = price.ShowDialog();

            if (dr == DialogResult.Cancel)
            {
                this.Show();
            }
        }
Exemple #13
0
        public ActionResult BuyTickets(List <SelectedSeatsViewModel> selected_seats, int?session_id)
        {
            if (!IsValidSelectedSeats(selected_seats, session_id) || !ModelState.IsValid)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            // створюю список позицій замовлення (квитків)
            Session          session    = sessionRepository.FindBy(x => x.Id == session_id).FirstOrDefault();
            List <OrderItem> orderItems = new List <OrderItem>();

            foreach (var item in selected_seats)
            {
                TicketPrice ticketPrice = session.TicketPrices.FirstOrDefault(x => x.Seat.Row == item.Row && x.Seat.Number == item.Number);
                orderItems.Add(new OrderItem
                {
                    Movie  = session.Movie,
                    Price  = ticketPrice.Price,
                    Ticket = new Ticket
                    {
                        SessionDateTime  = session.DateTime,
                        CreationDateTime = DateTime.Now,
                        TicketPrice      = ticketPrice,
                        Seat             = ticketPrice.Seat,
                        StatusId         = 3, // зарезервовано на 15хв
                    }
                });
            }

            // створюю замовлення та зберігаю його в бд
            ApplicationUserManager userMgr = new ApplicationUserManager(new UserStore <ApplicationUser>(context));
            Order order = new Order
            {
                TestIdForLiqpay = Guid.NewGuid().ToString(), // ця властивість необхідна для тестування "лікпею"
                OrderItems      = orderItems,
                OrderStatusId   = 3,                         // статус "відхилено" поки користувач не заплатить
                User            = userMgr.FindByName(User.Identity.Name),
                PurchaseDate    = DateTime.Now
            };

            orderRepository.AddOrUpdate(order);
            orderRepository.Save();
            TicketHub.NotifyToAllClients();

            // на основі створенго замовлення збираю необхідні для liqpay api дані та відправляю їх на в'ю
            LiqPayHelper liqPayHelper = new LiqPayHelper(ConfigurationManager.AppSettings["LiqPayPrivateKey"], ConfigurationManager.AppSettings["LiqPayPublicKey"]);
            string       redirect_url = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host +
                                        (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port) + "/Order/LiqPayCallback";
            var model = liqPayHelper.GetLiqPayModel(order, redirect_url);

            return(View(model));
        }
        public void TicketPriceMustReturnNotNullableTicket()
        {
            // Данной строкой мы создали moq-объект с типом ITicketService
            var mockTicketService = new Mock <ITicketService>();

            // Данные строки выполняют конфигурацию нашего объекта moq. Конкретнее, они устанавливают возвращаемое значение при определенных запросах:
            mockTicketService.Setup(p => p.GetTicketPrice(1)).Returns(100);
            mockTicketService.Setup(p => p.GetTicketPrice(2)).Returns(500);
            mockTicketService.Setup(p => p.GetTicketPrice(3)).Returns(7800);

            var ticketPriceTest = new TicketPrice(mockTicketService.Object);

            Assert.That(ticketPriceTest.MakeTicketPrice(3) == 7800);
        }
Exemple #15
0
        public IHttpActionResult DeleteTicketPrice(int id)
        {
            TicketPrice ticketPrice = db.TicketPrices.Find(id);

            if (ticketPrice == null)
            {
                return(NotFound());
            }

            db.TicketPrices.Remove(ticketPrice);
            db.SaveChanges();

            return(Ok(ticketPrice));
        }
        //Get : Attraction/Edit
        public ActionResult DetailsTicketPrice(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            TicketPrice ticketprice = ticketDataGateway.SelectById(id);

            if (ticketprice == null)
            {
                return(HttpNotFound());
            }

            return(View(ticketprice));
        }
Exemple #17
0
        public string PriceForPayPal(PomModelForBuyTicket pom)
        {
            //Pokusaj za dobijenje cijena aktivnog cjenovnika
            double       c           = 0;
            TypeOfTicket tt          = new TypeOfTicket();
            TicketPrice  ticketPrice = new TicketPrice();
            PriceList    pList       = new PriceList();

            if (pom.Email != "")
            {
                AppUser appUser = _unitOfWork.AppUsers.Find(user => user.Email == pom.Email).FirstOrDefault();
                tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == pom.TypeOfTicket).FirstOrDefault(); //1 - TimeLimited


                //pList = _unitOfWork.PriceLists.Find(a => a.ToTime >= DateTime.Now).FirstOrDefault();
                pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now);

                if (pList == null)
                {
                    return("null");
                }

                ticketPrice = _unitOfWork.TicketPrices.Find(aa => aa.PriceListId == pList.Id && aa.TypeOfTicketId == tt.Id).FirstOrDefault();


                double coeff = _unitOfWork.PassangerTypes.Find(dd => dd.Id == appUser.PassangerTypeId).FirstOrDefault().RoleCoefficient;
                c = ticketPrice.Price - (ticketPrice.Price * coeff);
            }
            else
            {
                tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == pom.TypeOfTicket).FirstOrDefault(); //1 - TimeLimited

                pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now);

                if (pList == null)
                {
                    return("null");
                }

                ticketPrice = _unitOfWork.TicketPrices.Find(aa => aa.PriceListId == pList.Id && aa.TypeOfTicketId == tt.Id).FirstOrDefault();

                c = ticketPrice.Price;
            }



            return(c.ToString());
        }
        // PUT api/TicketPrices/5
        public async Task<IHttpActionResult> PutTicketPrice(int id, TicketPrice ticketPrice)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != ticketPrice.TicketPriceID)
            {
                return BadRequest();
            }

            await repository.UpdateAsync(ticketPrice, ticketPrice.TicketPriceID);

            return StatusCode(HttpStatusCode.NoContent);
        }
Exemple #19
0
        public void Test(int adults, int children, int infants, float expectedEconomyPrice, float expectedBusinessPrice, float expectedFirstPrice)
        {
            List <TicketPriceInfo> ticketPrices = TicketPrice.Calculate(m_pricingSchemes, adults, children, infants);

            Assert.AreEqual("E", ticketPrices[0].TravelClassCode);
            Assert.AreEqual("Economy Class", ticketPrices[0].TravelClass);
            Assert.AreEqual(expectedEconomyPrice, ticketPrices[0].Amount);

            Assert.AreEqual("B", ticketPrices[1].TravelClassCode);
            Assert.AreEqual("Business Class", ticketPrices[1].TravelClass);
            Assert.AreEqual(expectedBusinessPrice, ticketPrices[1].Amount);

            Assert.AreEqual("F", ticketPrices[2].TravelClassCode);
            Assert.AreEqual("First Class", ticketPrices[2].TravelClass);
            Assert.AreEqual(expectedFirstPrice, ticketPrices[2].Amount);
        }
Exemple #20
0
        public string SendMail(PomModelForAddTicketPayPal ticket)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState).ToString());
            }

            PriceList pList = _unitOfWork.PriceLists.GetAllPricelists().ToList().FindLast(a => a.FromTime <= DateTime.Now && a.ToTime >= DateTime.Now);

            if (pList == null)
            {
                return("null");
            }

            TypeOfTicket tt = _unitOfWork.TypeOfTickets.Find(s => s.Name == ticket.pomModelForBuyTicket.TypeOfTicket).FirstOrDefault();

            TicketPrice ticketPrice = _unitOfWork.TicketPrices.Find(a => pList.Id == a.PriceListId && a.TypeOfTicketId == tt.Id).FirstOrDefault();


            string subject = "Ticket purchase";
            string desc    = $"Dear {ticket.pomModelForBuyTicket.Email},\nYour purchase is successfull.\n " +
                             $"Ticket price: {ticketPrice.Price} din\n " +
                             $"Type of ticket:Time Limited\n" +
                             $"Time of purchase: {DateTime.Now}\n" +
                             $"Ticket is valid for the next hour.\n\n" +
                             $"Thank you.";

            var email = ticket.pomModelForBuyTicket.Email;
            //TicketPrice ticketPrice = _unitOfWork.TicketPrices.Find(a => a.TypeOfTicketId == tt.Id).FirstOrDefault();

            Ticket storeTicket = new Ticket();

            storeTicket.Email          = email;
            storeTicket.PriceOfTicket  = ticketPrice.Price;
            storeTicket.PurchaseDate   = DateTime.Now;
            storeTicket.TypeOfTicketId = tt.Id;
            storeTicket.Valid          = true;
            storeTicket.TicketPriceId  = ticketPrice.Id;
            storeTicket.PayPalModelId  = ticket.PayPalModelId;

            _unitOfWork.Tickets.NotifyViaEmail(email, subject, desc);
            _unitOfWork.Tickets.Add(storeTicket);
            _unitOfWork.Complete();

            return("Ok");
        }
Exemple #21
0
        /// <summary>
        /// Метод перевіряє правильність отриманих даних з обраними місцями
        /// </summary>
        /// <param name="selected_seats"></param>
        /// <param name="session_id"></param>
        /// <returns>false - валідація не пройдена; true - все добре</returns>
        private bool IsValidSelectedSeats(List <SelectedSeatsViewModel> selected_seats, int?session_id)
        {
            if (selected_seats == null)
            {
                return(false);
            }
            if (selected_seats.Count == 0)
            {
                return(false);
            }
            if (selected_seats.Count > 10)
            {
                return(false);
            }
            if (session_id == null)
            {
                return(false);
            }

            Session session = sessionRepository.FindBy(x => x.Id == session_id).FirstOrDefault();

            if (session == null)
            {
                return(false);
            }
            if (session.DateTime < DateTime.Now.AddMinutes(5))
            {
                return(false);
            }

            foreach (var item in selected_seats)
            {
                TicketPrice ticketPrice = session.TicketPrices.FirstOrDefault(x => x.Seat.Row == item.Row && x.Seat.Number == item.Number);
                if (ticketPrice == null)
                {
                    return(false);
                }
                if (ticketPrice.Ticket != null)
                {
                    return(false);
                }
            }

            return(true);
        }
        //设置票价和满员
        private void SetPriceAndPerson()
        {
            TicketPrice    ticket     = new TicketPrice();
            int            traintype1 = int.Parse(Request.QueryString["TrainType"]);
            ETrainType     traintype  = (ETrainType)traintype1;
            ECommTrainType type1      = (ECommTrainType)((int)traintype);

            int yunxingLiCheng = int.Parse(this.totalmiles.Value);

            TrainShouRu1 shour1 = null;

            if (traintype == ETrainType.绿皮车25B)
            {
                shour1 = new TrainShouRu1(yunxingLiCheng, false, EJiaKuai.其他);
            }
            else
            {
                shour1 = new TrainShouRu2(yunxingLiCheng, EJiaKuai.特快);
            }


            //设置票价
            this.p1.Value = shour1.YinZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.硬座) + shour1.JiaKuaiFee + "";

            this.p2.Value = shour1.YinZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.硬座) +
                            shour1.JiaKuaiFee + shour1.YinWoPrice1 + "";
            this.p3.Value = shour1.YinZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.硬座)
                            + shour1.JiaKuaiFee + shour1.YinWoPrice2 + "";
            this.p4.Value = shour1.YinZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.硬座)
                            + shour1.JiaKuaiFee + shour1.YinWoPrice3 + "";

            this.p5.Value = shour1.RuanZuoPrice
                            + shour1.GetKongTiaoFee(type1, ECommCheXian.软卧) + shour1.JiaKuaiFee + shour1.RuanWoPrice1 + "";
            this.p6.Value = shour1.RuanZuoPrice + shour1.GetKongTiaoFee(type1, ECommCheXian.软卧)
                            + shour1.JiaKuaiFee + shour1.RuanWoPrice2 + "";

            //设置定员
            this.m1.Value = ChexianBianZhuData.YinZuo_Pcount + "";
            this.m2.Value = (ChexianBianZhuData.YinWo1_Pcount +
                             ChexianBianZhuData.YinWo2_Pcount +
                             ChexianBianZhuData.YinWo3_Pcount) + "";
            this.m3.Value = (ChexianBianZhuData.RuanWo1_Pcount
                             + ChexianBianZhuData.RuanWo2_Pcount) + "";
            this.m4.Value = TrainProfile.SyCheXianPCount + "";
        }
        public IHttpActionResult UpdateTimetable(int ticketTypeId, int price)
        {
            TicketPrice ticket = new TicketPrice();

            ticket                 = Db.ticketPriceRepository.Find(x => x.TicketTypeId.Equals(ticketTypeId)).FirstOrDefault();
            ticket.Price           = price;
            db.Entry(ticket).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException e)
            {
                return(StatusCode(HttpStatusCode.BadRequest));
            }

            return(Ok("uspesno"));
        }
Exemple #24
0
        public IHttpActionResult PostTicketPrices([FromBody] PomModelTicketPrices hm)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            TicketPrice ticketPrice = new TicketPrice
            {
                TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Hourly").FirstOrDefault().Id,
                PriceListId    = _unitOfWork.PriceLists.Get(hm.IdPriceList).Id,
                Price          = hm.TimeLimited
            };

            _unitOfWork.TicketPrices.Add(ticketPrice);
            ticketPrice = new TicketPrice
            {
                TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Daily").FirstOrDefault().Id,
                PriceListId    = _unitOfWork.PriceLists.Get(hm.IdPriceList).Id,
                Price          = hm.Daily
            };
            _unitOfWork.TicketPrices.Add(ticketPrice);
            ticketPrice = new TicketPrice
            {
                TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Monthly").FirstOrDefault().Id,
                PriceListId    = _unitOfWork.PriceLists.Get(hm.IdPriceList).Id,
                Price          = hm.Monthly
            };
            _unitOfWork.TicketPrices.Add(ticketPrice);
            ticketPrice = new TicketPrice
            {
                TypeOfTicketId = _unitOfWork.TypeOfTickets.Find(k => k.Name == "Annual").FirstOrDefault().Id,
                PriceListId    = _unitOfWork.PriceLists.Get(hm.IdPriceList).Id,
                Price          = hm.Annual
            };

            _unitOfWork.TicketPrices.Add(ticketPrice);

            _unitOfWork.Complete();
            return(Ok());
        }
        // get create ticket

        public ActionResult CreateTicket(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            //Attraction attraction = dataGateway.SelectById(id);
            //if (attraction == null)
            //{
            //    return HttpNotFound();
            //}


            TicketPrice newTicket = new TicketPrice();

            //newTicket.atID = (int)id;
            //ticketDataGateway.Insert(newTicket);
            ViewBag.atID = (int)id;

            return(View(newTicket));
        }
        public ActionResult CreateTicket([Bind(Include = "ID")] Attraction attraction, TicketPrice newTicket)
        {
            if (ModelState.IsValid)
            {
                //attraction.myTicket.ID = attraction.ID;
                //myTicket.ID = attraction.ID;
                //dataGateway.Update(attraction);



                //TicketPrice ticketID = new TicketPrice();
                //ticketID.atID = attraction.ID;
                //attraction.ID;
                newTicket.atID = attraction.ID;

                ticketDataGateway.Insert(newTicket);
                return(RedirectToAction("Index"));
            }
            return(View());
        }
Exemple #27
0
        protected override void Seed(WebApp.Persistence.ApplicationDbContext context)
        {
            //  This method will be called after migrating to the latest version.

            //  You can use the DbSet<T>.AddOrUpdate() helper extension method
            //  to avoid creating duplicate seed data.

            // System.Diagnostics.Debugger.Launch();

            try
            {
                //  UserType
                if (!context.UserType.Any(u => u.Name == "Đak"))
                {
                    UserType userType = new UserType()
                    {
                        Name = "Đak", Id = 1
                    };
                    context.UserType.Add(userType);
                    context.SaveChanges();
                }

                if (!context.UserType.Any(u => u.Name == "Penzioner"))
                {
                    UserType userType = new UserType()
                    {
                        Name = "Penzioner", Id = 2
                    };
                    context.UserType.Add(userType);
                    context.SaveChanges();
                }

                if (!context.UserType.Any(u => u.Name == "Regularan"))
                {
                    UserType userType = new UserType()
                    {
                        Name = "Regularan", Id = 3
                    };
                    context.UserType.Add(userType);
                    context.SaveChanges();
                }

                if (!context.Roles.Any(r => r.Name == "Admin"))
                {
                    var store   = new RoleStore <IdentityRole>(context);
                    var manager = new RoleManager <IdentityRole>(store);
                    var role    = new IdentityRole {
                        Name = "Admin"
                    };

                    manager.Create(role);
                }

                if (!context.Roles.Any(r => r.Name == "Controller"))
                {
                    var store   = new RoleStore <IdentityRole>(context);
                    var manager = new RoleManager <IdentityRole>(store);
                    var role    = new IdentityRole {
                        Name = "Controller"
                    };

                    manager.Create(role);
                }

                if (!context.Roles.Any(r => r.Name == "AppUser"))
                {
                    var store   = new RoleStore <IdentityRole>(context);
                    var manager = new RoleManager <IdentityRole>(store);
                    var role    = new IdentityRole {
                        Name = "AppUser"
                    };

                    manager.Create(role);
                }

                var userStore   = new UserStore <ApplicationUser>(context);
                var userManager = new UserManager <ApplicationUser>(userStore);

                if (!context.Users.Any(u => u.UserName == "*****@*****.**"))
                {
                    var user = new ApplicationUser()
                    {
                        Id = "admin", UserName = "******", Email = "*****@*****.**", PasswordHash = ApplicationUser.HashPassword("Admin123!"), TypeId = 2
                    };
                    userManager.Create(user);
                    userManager.AddToRole(user.Id, "Admin");
                }

                if (!context.Users.Any(u => u.UserName == "*****@*****.**"))
                {
                    var user = new ApplicationUser()
                    {
                        Id = "controller", UserName = "******", Email = "*****@*****.**", PasswordHash = ApplicationUser.HashPassword("Controller123!"), TypeId = 2
                    };
                    userManager.Create(user);
                    userManager.AddToRole(user.Id, "Controller");
                }

                if (!context.Users.Any(u => u.UserName == "appu@yahoo"))
                {
                    var user = new ApplicationUser()
                    {
                        Id = "appu", UserName = "******", Email = "*****@*****.**", PasswordHash = ApplicationUser.HashPassword("Appu123!"), TypeId = 2
                    };

                    userManager.Create(user);

                    userManager.AddToRole(user.Id, "AppUser");
                }

                // Ticket type
                if (!context.TicketType.Any(t => t.Name == "Vremenska karta"))
                {
                    TicketType ticketType = new TicketType()
                    {
                        Name = "Vremenska karta", Id = 1
                    };
                    context.TicketType.Add(ticketType);
                    try
                    {
                        context.SaveChanges();
                    }
                    catch (DbEntityValidationException e)
                    {
                        //foreach (var eve in e.EntityValidationErrors)
                        //{
                        //    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                        //        eve.Entry.Entity.GetType().Name, eve.Entry.State);
                        //    foreach (var ve in eve.ValidationErrors)
                        //    {
                        //        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                        //            ve.PropertyName, ve.ErrorMessage);
                        //    }
                        //}
                        //throw;

                        var outputLines = new List <string>();
                        foreach (var eve in e.EntityValidationErrors)
                        {
                            outputLines.Add(string.Format(
                                                "{0}: Entity of type \"{1}\" in state \"{2}\" has the following validation errors:",
                                                DateTime.Now, eve.Entry.Entity.GetType().Name, eve.Entry.State));
                            foreach (var ve in eve.ValidationErrors)
                            {
                                outputLines.Add(string.Format(
                                                    "- Property: \"{0}\", Error: \"{1}\"",
                                                    ve.PropertyName, ve.ErrorMessage));
                            }
                        }
                        // asasdasd
                        System.IO.File.AppendAllLines(@"c:\errors.txt", outputLines);
                        throw;
                    }
                }


                if (!context.TicketType.Any(t => t.Name == "Dnevna karta"))
                {
                    TicketType ticketType = new TicketType()
                    {
                        Name = "Dnevna karta", Id = 2
                    };
                    context.TicketType.Add(ticketType);
                    context.SaveChanges();
                }

                if (!context.TicketType.Any(t => t.Name == "Mesečna karta"))
                {
                    TicketType ticketType = new TicketType()
                    {
                        Name = "Mesečna karta", Id = 3
                    };
                    context.TicketType.Add(ticketType);
                    context.SaveChanges();
                }

                if (!context.TicketType.Any(t => t.Name == "Godišnja karta"))
                {
                    TicketType ticketType = new TicketType()
                    {
                        Name = "Godišnja karta", Id = 4
                    };
                    context.TicketType.Add(ticketType);
                    context.SaveChanges();
                }

                // Pricelist
                if (!context.Pricelist.Any(t => t.Id == 1))
                {
                    PriceList pricelist = new PriceList()
                    {
                        Id = 1, From = DateTime.Now.ToString(), To = DateTime.Now.ToString()
                    };
                    context.Pricelist.Add(pricelist);
                    context.SaveChanges();
                }

                if (!context.Pricelist.Any(t => t.Id == 2))
                {
                    PriceList pricelist = new PriceList()
                    {
                        Id = 2, From = DateTime.Now.ToString(), To = DateTime.Now.ToString()
                    };
                }
                if (!context.Pricelist.Any(t => t.Id == 3))
                {
                    PriceList pricelist = new PriceList()
                    {
                        Id = 3, From = DateTime.Now.ToString(), To = DateTime.Now.ToString()
                    };
                    context.Pricelist.Add(pricelist);
                    context.SaveChanges();
                }
                if (!context.Pricelist.Any(t => t.Id == 4))
                {
                    PriceList pricelist = new PriceList()
                    {
                        Id = 4, From = DateTime.Now.ToString(), To = DateTime.Now.ToString()
                    };
                    context.Pricelist.Add(pricelist);
                    context.SaveChanges();
                }

                //  ticketPrice
                if (!context.TicketPrice.Any(t => t.Id == 1))
                {
                    TicketPrice ticketPrice = new TicketPrice()
                    {
                        Price = 50, PricelistId = 1, TicketTypeId = 1
                    };
                    context.TicketPrice.Add(ticketPrice);
                    context.SaveChanges();
                }
                if (!context.TicketPrice.Any(t => t.Id == 2))
                {
                    TicketPrice ticketPrice = new TicketPrice()
                    {
                        Price = 250, PricelistId = 2, TicketTypeId = 2
                    };
                    context.TicketPrice.Add(ticketPrice);
                    context.SaveChanges();
                }
                if (!context.TicketPrice.Any(t => t.Id == 3))
                {
                    TicketPrice ticketPrice = new TicketPrice()
                    {
                        Price = 1500, PricelistId = 3, TicketTypeId = 3
                    };
                    context.TicketPrice.Add(ticketPrice);
                    context.SaveChanges();
                }
                if (!context.TicketPrice.Any(t => t.Id == 4))
                {
                    TicketPrice ticketPrice = new TicketPrice()
                    {
                        Price = 4500, PricelistId = 4, TicketTypeId = 4
                    };
                    context.TicketPrice.Add(ticketPrice);
                    context.SaveChanges();
                }

                // Lines
                if (!context.Line.Any(t => t.Id == 1))
                {
                    Line line = new Line()
                    {
                        Id = 1, SerialNumber = 1
                    };
                    context.Line.Add(line);
                    context.SaveChanges();
                }

                if (!context.Line.Any(t => t.Id == 2))
                {
                    Line line = new Line()
                    {
                        Id = 2, SerialNumber = 2
                    };
                    context.Line.Add(line);
                    context.SaveChanges();
                }
                if (!context.Line.Any(t => t.Id == 3))
                {
                    Line line = new Line()
                    {
                        Id = 3, SerialNumber = 3
                    };
                    context.Line.Add(line);
                    context.SaveChanges();
                }
                if (!context.Line.Any(t => t.Id == 4))
                {
                    Line line = new Line()
                    {
                        Id = 4, SerialNumber = 4
                    };
                    context.Line.Add(line);
                    context.SaveChanges();
                }
                if (!context.Line.Any(t => t.Id == 5))
                {
                    Line line = new Line()
                    {
                        Id = 5, SerialNumber = 5
                    };
                    context.Line.Add(line);
                    context.SaveChanges();
                }
                // Stations
                if (!context.Station.Any(t => t.Name == "Prva"))
                {
                    Station station = new Station()
                    {
                        Id = 1, Name = "Prva", Address = "Adresa Prve"
                    };
                    context.Station.Add(station);
                    context.SaveChanges();
                }

                if (!context.Station.Any(t => t.Name == "Druga"))
                {
                    Station station = new Station()
                    {
                        Id = 1, Name = "Prva", Address = "Adresa Druge"
                    };
                    context.Station.Add(station);
                    context.SaveChanges();
                }
                // Timetable
                if (!context.TimeTable.Any(t => t.Id == 1))
                {
                    TimeTable timetable = new TimeTable()
                    {
                        Id = 1, BusLineId = 1, TimetableTypeId = 1, DayTypeId = 1, Times = "9:50 10:50 11:50"
                    };
                    context.TimeTable.Add(timetable);
                    context.SaveChanges();
                }

                if (!context.TimeTable.Any(t => t.Id == 2))
                {
                    TimeTable timetable = new TimeTable()
                    {
                        Id = 2, BusLineId = 2, TimetableTypeId = 2, DayTypeId = 2, Times = "9:30 10:30 11:30 12:30 13:30"
                    };
                    context.TimeTable.Add(timetable);
                    context.SaveChanges();
                }
                if (!context.TimeTable.Any(t => t.Id == 3))
                {
                    TimeTable timetable = new TimeTable()
                    {
                        Id = 3, BusLineId = 1, TimetableTypeId = 1, DayTypeId = 2, Times = "9:10 10:10 11:10 12:10 13:10"
                    };
                    context.TimeTable.Add(timetable);
                    context.SaveChanges();
                }
            }
            catch (DbEntityValidationException e)
            {
                //foreach (var eve in e.EntityValidationErrors)
                //{
                //    Console.WriteLine("Entity of type \"{0}\" in state \"{1}\" has the following validation errors:",
                //        eve.Entry.Entity.GetType().Name, eve.Entry.State);
                //    foreach (var ve in eve.ValidationErrors)
                //    {
                //        Console.WriteLine("- Property: \"{0}\", Error: \"{1}\"",
                //            ve.PropertyName, ve.ErrorMessage);
                //    }
                //}
                //throw;

                var outputLines = new List <string>();
                foreach (var eve in e.EntityValidationErrors)
                {
                    outputLines.Add(string.Format(
                                        "{0}: Entity of type \"{1}\" in state \"{2}\" has the following validation errors:",
                                        DateTime.Now, eve.Entry.Entity.GetType().Name, eve.Entry.State));
                    foreach (var ve in eve.ValidationErrors)
                    {
                        outputLines.Add(string.Format(
                                            "- Property: \"{0}\", Error: \"{1}\"",
                                            ve.PropertyName, ve.ErrorMessage));
                    }
                }
                // asasdasd
                System.IO.File.AppendAllLines(@"C:\Users\Stefan\errors.txt", outputLines);
                throw;
            }
        }
Exemple #28
0
        public IActionResult EndPurchase(EndPurchaseDto endPurchaseDto)
        {
            if (User.IsInRole(StaticData.UserRole))
            {
                BusRoute busRoute        = _unitOfWork.BusRoute.GetFirstOrDefault(br => br.Id == endPurchaseDto.BusRouteId);
                int      NumberOfTickets = endPurchaseDto.NumberOfNormalTickets + endPurchaseDto.NumberOfStudentsTickets;

                //valid data from form
                if (NumberOfTickets > busRoute.AvailableSeats || endPurchaseDto.NumberOfExtraBaggages > NumberOfTickets || NumberOfTickets < 1)
                {
                    return(RedirectToAction(nameof(PurchaseError)));
                }

                busRoute.AvailableSeats -= NumberOfTickets;
                _unitOfWork.Save();

                Timetable   timetable   = _unitOfWork.Timetable.GetFirstOrDefault(t => t.Id == busRoute.TimetableId);
                TicketPrice ticketPrice = _unitOfWork.TicketPrice.GetFirstOrDefault(tp => tp.Id == timetable.TicketPriceId);

                float TicketsValue;
                if (endPurchaseDto.IsEntireRoute)
                {
                    TicketsValue = (float)(endPurchaseDto.NumberOfNormalTickets * ticketPrice.PricePerEntireRoute +
                                           endPurchaseDto.NumberOfStudentsTickets * ticketPrice.PricePerEntireRoute * 0.5 +
                                           endPurchaseDto.NumberOfExtraBaggages * StaticData.ExtraBaggagePrice);
                }
                else
                {
                    TicketsValue = (float)(endPurchaseDto.NumberOfNormalTickets * ticketPrice.PricePerSegment * endPurchaseDto.NumberOfBusStops +
                                           endPurchaseDto.NumberOfStudentsTickets * ticketPrice.PricePerSegment * 0.5 * endPurchaseDto.NumberOfBusStops +
                                           endPurchaseDto.NumberOfExtraBaggages * StaticData.ExtraBaggagePrice);
                }

                Tickets ticket = new Tickets()
                {
                    NumberOfRegularTickets  = endPurchaseDto.NumberOfNormalTickets,
                    NumberOfStudentsTickets = endPurchaseDto.NumberOfStudentsTickets,
                    NumberOfExtraBaggages   = endPurchaseDto.NumberOfExtraBaggages,
                    BusRouteId = busRoute.Id,
                    Payment    = new Payment()
                    {
                        Value  = TicketsValue,
                        Status = StaticData.PaymentStatusNew
                    },
                    ApplicationUserId = _userManager.GetUserId(User),
                    PurchaseDates     = DateTime.UtcNow,
                    Arrival           = endPurchaseDto.ArrivalTime,
                    Departure         = endPurchaseDto.DepartureTime,
                    EndBusStopName    = endPurchaseDto.EndBusStopName,
                    StartBusStopName  = endPurchaseDto.StartBusStopName
                };

                _unitOfWork.Tickets.Add(ticket);
                _unitOfWork.Save();

                var         bankAccount = _unitOfWork.BankAccount.GetFirstOrDefault();
                var         user        = _unitOfWork.ApplicationUser.GetFirstOrDefault(u => u.Id == _userManager.GetUserId(User));
                EmailSender emailSender = new EmailSender();
                emailSender.SendEmailAsync(user.Email, "Kupiłeś bilet", $"<p><b>Witaj {user.FirstName}!</b></p>Właśnie kupiłeś bilet o id: {ticket.PaymentId}</p><p>Teraz wykonaj przelew:</p><p>Nazwa odbiorcy: {bankAccount.CompanyName}</p><p>Adres odbiorcy: {bankAccount.CompanyAddress}</p><p>Nr. konta: {bankAccount.AccountNumber}</p><p>Kwota: {ticket.Payment.Value} zł</p><br /><p>BusApplication Team</p>");

                EndOfPurchaseAndPaymentDataShowVM endOfPurchaseAndPaymentDataShowVM = new EndOfPurchaseAndPaymentDataShowVM()
                {
                    BankAccount  = _unitOfWork.BankAccount.GetFirstOrDefault(),
                    TicketsValue = TicketsValue,
                    PaymentId    = ticket.Payment.Id
                };

                return(View(endOfPurchaseAndPaymentDataShowVM));
            }
            else
            {
                return(RedirectToAction(nameof(NotLogIn)));
            }
        }
        public ActionResult Create(TicketPrice model, FormCollection form)
        {
            try
            {
                ViewBag.airport = dbcontext.Air_ports.ToList();
                if (ModelState.IsValid)
                {
                    var fromair     = form["from"].Split(char.Parse(","));
                    var to          = form["to"].Split(char.Parse(","));
                    var codefromair = form["codefrom"].Split(char.Parse(","));
                    var codeto      = form["codeto"].Split(char.Parse(","));
                    var fromdate    = form["fromdate"].Split(char.Parse(","));
                    var todate      = form["todate"].Split(char.Parse(","));
                    var price       = form["price"].Split(char.Parse(","));
                    var class_type  = form["class_type"].Split(char.Parse(","));

                    for (var i = 0; i < fromair.Length; i++)
                    {
                        TicketPrice record = new TicketPrice();
                        if (class_type[i] == "1")
                        {
                            record.classtype = ClassType.Economy;
                        }
                        else if (class_type[i] == "2")
                        {
                            record.classtype = ClassType.Premium_economy;
                        }
                        else if (class_type[i] == "3")
                        {
                            record.classtype = ClassType.Business;
                        }
                        else if (class_type[i] == "4")
                        {
                            record.classtype = ClassType.First;
                        }
                        var fromair1  = int.Parse(codefromair[i]);
                        var toair     = int.Parse(codeto[i]);
                        var fromdate1 = Convert.ToDateTime(fromdate[i]);
                        var todate1   = Convert.ToDateTime(todate[i]);
                        var pri       = double.Parse(price[i]);
                        record.From_air_port_Idd = fromair1;
                        record.To_air_port_Idd   = toair;
                        record.From_Date         = fromdate1;
                        record.TO_Date           = todate1;
                        record.Price             = pri;
                        record.From_Air_port     = dbcontext.Air_ports.FirstOrDefault(m => m.ID == record.From_air_port_Idd);
                        record.To_Air_port       = dbcontext.Air_ports.FirstOrDefault(m => m.ID == record.To_air_port_Idd);
                        dbcontext.TicketPrice.Add(record);
                        dbcontext.SaveChanges();
                    }
                    //=================================check for alert==================================

                    var get_result_check = HR.Controllers.check.check_alert("tickets prices", HR.Models.user.Action.Create, HR.Models.user.type_field.form);
                    if (get_result_check != null)
                    {
                        var inbox = new Models.user.Alert_inbox {
                            send_from_user_id = User.Identity.Name, send_to_user_id = get_result_check.send_to_ID_user, title = get_result_check.Subject, Subject = get_result_check.Message
                        };
                        if (get_result_check.until != null)
                        {
                            if (get_result_check.until.Value.Year != 0001)
                            {
                                inbox.until = get_result_check.until;
                            }
                        }
                        ApplicationDbContext dbcontext = new ApplicationDbContext();
                        dbcontext.Alert_inbox.Add(inbox);
                        dbcontext.SaveChanges();
                    }
                    //===================================================================================
                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View(model));
                }
            }
            catch (DbUpdateException)
            {
                TempData["Message"] = HR.Resource.Basic.thiscodeIsalreadyexists;
                return(View(model));
            }
            catch (Exception e)
            {
                return(View(model));
            }
        }
        public async Task<IHttpActionResult> PostTicketPrice(TicketPrice ticketPrice)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            await repository.AddAsync(ticketPrice);

            return CreatedAtRoute("DefaultApi", new { id = ticketPrice.TicketPriceID }, ticketPrice);
        }
Exemple #31
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (Id.Length != 0)
            {
                hash ^= Id.GetHashCode();
            }
            if (Loading != false)
            {
                hash ^= Loading.GetHashCode();
            }
            if (OfflineFulfillment != false)
            {
                hash ^= OfflineFulfillment.GetHashCode();
            }
            if (TrainDescription.Length != 0)
            {
                hash ^= TrainDescription.GetHashCode();
            }
            if (railway_ != null)
            {
                hash ^= Railway.GetHashCode();
            }
            if (from_ != null)
            {
                hash ^= From.GetHashCode();
            }
            if (to_ != null)
            {
                hash ^= To.GetHashCode();
            }
            if (Departure.Length != 0)
            {
                hash ^= Departure.GetHashCode();
            }
            if (Arrival.Length != 0)
            {
                hash ^= Arrival.GetHashCode();
            }
            if (ticketPrice_ != null)
            {
                hash ^= TicketPrice.GetHashCode();
            }
            if (paymentPrice_ != null)
            {
                hash ^= PaymentPrice.GetHashCode();
            }
            if (chargingPrice_ != null)
            {
                hash ^= ChargingPrice.GetHashCode();
            }
            if (rebateAmount_ != null)
            {
                hash ^= RebateAmount.GetHashCode();
            }
            hash ^= trains_.GetHashCode();
            hash ^= passengers_.GetHashCode();
            hash ^= tickets_.GetHashCode();
            hash ^= records_.GetHashCode();
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Exemple #32
0
 public void MergeFrom(OnlineOrderResponse other)
 {
     if (other == null)
     {
         return;
     }
     if (other.Id.Length != 0)
     {
         Id = other.Id;
     }
     if (other.Loading != false)
     {
         Loading = other.Loading;
     }
     if (other.OfflineFulfillment != false)
     {
         OfflineFulfillment = other.OfflineFulfillment;
     }
     if (other.TrainDescription.Length != 0)
     {
         TrainDescription = other.TrainDescription;
     }
     if (other.railway_ != null)
     {
         if (railway_ == null)
         {
             Railway = new global::G2Rail.Protobuf.Railway();
         }
         Railway.MergeFrom(other.Railway);
     }
     if (other.from_ != null)
     {
         if (from_ == null)
         {
             From = new global::G2Rail.Protobuf.Station();
         }
         From.MergeFrom(other.From);
     }
     if (other.to_ != null)
     {
         if (to_ == null)
         {
             To = new global::G2Rail.Protobuf.Station();
         }
         To.MergeFrom(other.To);
     }
     if (other.Departure.Length != 0)
     {
         Departure = other.Departure;
     }
     if (other.Arrival.Length != 0)
     {
         Arrival = other.Arrival;
     }
     if (other.ticketPrice_ != null)
     {
         if (ticketPrice_ == null)
         {
             TicketPrice = new global::G2Rail.Protobuf.Price();
         }
         TicketPrice.MergeFrom(other.TicketPrice);
     }
     if (other.paymentPrice_ != null)
     {
         if (paymentPrice_ == null)
         {
             PaymentPrice = new global::G2Rail.Protobuf.Price();
         }
         PaymentPrice.MergeFrom(other.PaymentPrice);
     }
     if (other.chargingPrice_ != null)
     {
         if (chargingPrice_ == null)
         {
             ChargingPrice = new global::G2Rail.Protobuf.Price();
         }
         ChargingPrice.MergeFrom(other.ChargingPrice);
     }
     if (other.rebateAmount_ != null)
     {
         if (rebateAmount_ == null)
         {
             RebateAmount = new global::G2Rail.Protobuf.Price();
         }
         RebateAmount.MergeFrom(other.RebateAmount);
     }
     trains_.Add(other.trains_);
     passengers_.Add(other.passengers_);
     tickets_.Add(other.tickets_);
     records_.Add(other.records_);
     _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 }