public int Update(PassengerTicketModel passengerTicket)
        {
            this.PassengerTicketRepository.Update(passengerTicket.GetModel());
            var result = this.UnitOfWork.SaveChanges();

            return(result);
        }
        public PassengerTicketModel CreateViewModel(PassengerTicket model)
        {
            PassengerTicketModel viewModel = null;

            if (model != null)
            {
                viewModel = new PassengerTicketModel();
                CommonMethods.CopyObjectProperties(model, viewModel);
            }

            return(viewModel);
        }
Пример #3
0
        public JsonResult SavePassenger(string json)
        {
            var passengerJsonObject = JsonConvert.DeserializeObject <JObject>(json);
            var passengerList       = passengerJsonObject.Properties().Select(p => p.Value).ToList();
            var modelList           = new List <PassengerTicketModel>();
            var itsYou = true;

            foreach (var passenger in passengerList)
            {
                var passport      = GetValueFromJson(passenger, "IDCardOrPassport");
                var passengerType = GetValueFromJson(passenger, "id");

                if (passengerType.Equals("UpdateAccount"))
                {
                    continue;
                }

                var passengerModel = new PassengerTicketModel
                {
                    FirstName = GetValueFromJson(passenger, "FirstName"),
                    LastName  = GetValueFromJson(passenger, "LastName"),
                    Gender    = !GetValueFromJson(passenger, "Gender").Equals("0"),
                    Birthday  = DateTime.ParseExact(GetValueFromJson(passenger, "Birthday"), "dd/MM/yyyy", CultureInfo.InvariantCulture)
                };

                if (!string.IsNullOrEmpty(passport))
                {
                    passengerModel.IDCardOrPassport  = passport;
                    passengerModel.DateIssueOrExpiry = DateTime.ParseExact(GetValueFromJson(passenger, "DateIssueOrExpiry"), "dd/MM/yyyy", CultureInfo.InvariantCulture);
                    passengerModel.PlaceIssue        = string.Concat(GetValueFromJson(passenger, "Nationality"), string.IsNullOrEmpty(GetValueFromJson(passenger, "City"))?"": ", " + GetValueFromJson(passenger, "City"));
                }

                if (passengerType.Contains("Adult"))
                {
                    passengerModel.PassengerTypeID = this.PassengerTypeService.FindByName(Constant.CONST_DB_NAME_ADULT).ID;
                }
                else if (passengerType.Contains("Child"))
                {
                    passengerModel.PassengerTypeID = this.PassengerTypeService.FindByName(Constant.CONST_DB_NAME_CHILD).ID;
                }
                else if (passengerType.Contains("Infant"))
                {
                    passengerModel.PassengerTypeID = this.PassengerTypeService.FindByName(Constant.CONST_DB_NAME_INFANT).ID;
                }

                if (passengerType.Equals("Adult1")) //Check if not have account is a passenger
                {
                    itsYou = false;
                }

                modelList.Add(passengerModel);
            }

            if (itsYou)
            {
                var loggedUser = SessionUtility.GetLoggedUser();
                modelList.Add(new PassengerTicketModel()
                {
                    FirstName         = loggedUser.FirstName,
                    LastName          = loggedUser.LastName,
                    Gender            = loggedUser.Gender,
                    Birthday          = loggedUser.Birthday,
                    IDCardOrPassport  = loggedUser.IDCardOrPassport,
                    DateIssueOrExpiry = loggedUser.DateIssueOrExpiry,
                    PlaceIssue        = loggedUser.PlaceIssue,
                    PassengerTypeID   = this.PassengerTypeService.FindByName(Constant.CONST_DB_NAME_ADULT).ID
                });;
            }

            SessionUtility.SetPassengerSession(modelList);

            return(new JsonResult {
                ContentType = "text"
            });
        }