コード例 #1
0
        public HttpResponseMessage  UpdateFlightInfo(Departure value)
        {
            var model1 = new FlightInfoModel();

            model1.Departures.ToList().ForEach(x => x.Action = null);
            model1.SaveChanges();



            var model    = new FlightInfoModel();
            var toUpdate = model.Departures.First(x => x.Id == value.Id);

            toUpdate.Time        = value.Time.TrimEnd();
            toUpdate.Destination = value.Destination.TrimEnd();
            toUpdate.FlightNo    = value.FlightNo.TrimEnd();
            toUpdate.Gate        = value.Gate.TrimEnd();
            toUpdate.Remarks     = value.Remarks.TrimEnd();
            toUpdate.Action      = "u";

            model.Entry(toUpdate).State = EntityState.Modified;

            model.SaveChanges();



            return(Request.CreateResponse(HttpStatusCode.Accepted, new DepartureViewModel(value)));
        }
コード例 #2
0
        public void ExecuteQueryStopTextRemarkCommand(FlightInfoModel model)
        {
            //查询航班经停止信息

            Action action = () => CommunicateManager.Invoke <IFlightDestineService>(service =>
            {
                var m = service.GetLegStop(LoginInfo.Code, model.CarrayCode + model.FlightNumber, model.StartDateTime);

                var leg = new LegStopModel
                {
                    FlightCodeNumber = m.CarrayCodeFlightNum,
                    StartDate        = m.StopDate + " " + m.FromTime,
                    ToDate           = m.StopDate + " " + m.ToTime,
                    MiddleDate       = m.StopDate + " " + m.MiddleTime1,
                    FromCity         = m.FromCity,
                    ToCity           = m.ToCity,
                    MiddleCity       = m.MiddleCity
                };

                model.LegStopModel = leg;
            }, UIManager.ShowErr);

            Task.Factory.StartNew(action).ContinueWith(task =>
            {
                Action setBusyAction = () => { };
                DispatcherHelper.UIDispatcher.Invoke(setBusyAction);
            });
        }
コード例 #3
0
        public FlightInformationItemViewModel(FlightInfoModel fi)
        {
            this._fi = fi;

            CarrayShortName = fi.CarrayShortName;
            CarrayCode      = fi.CarrayCode;
            FlightNumber    = fi.FlightNumber;
            Model           = fi.Model;

            FromTerminal     = fi.FromTerminal;
            StartDateTime    = fi.StartDateTime;
            FromAirPortrName = fi.FromAirPortrName;

            ToTerminal     = fi.ToTerminal;
            ToDateTime     = fi.ToDateTime;
            ToAirPortrName = fi.ToAirPortrName;

            People = fi.CarrayShortName;

            TaxFee            = fi.TaxFee;
            RQFee             = fi.RQFee;
            YPrice            = fi.DefaultSite.SpecialYPrice;
            SeatCode          = fi.DefaultSite.SeatCode;
            SeatCount         = fi.DefaultSite.SeatCount;
            Discount          = fi.DefaultSite.Discount;
            SeatPrice         = fi.DefaultSite.SeatPrice;
            PolicyPoint       = fi.DefaultSite.PolicyPoint;
            PolicySpecialType = fi.DefaultSite.PolicySpecialType;
            IbeRQFee          = fi.IbeRQFee;
            IbeTaxFee         = fi.IbeTaxFee;
            IbeSeatPrice      = fi.DefaultSite.IbeSeatResponse.IbeSeatPrice;
            OnTotalPriceChanged();
        }
コード例 #4
0
        private FlightInfoModel MapModelFromLBC_FLIGHT_INFO(FlightInfoModel entity)
        {
            FlightInfoModel model = new FlightInfoModel();

            if (entity != null)
            {
                model.REGD_SEQ_NUM            = entity.REGD_SEQ_NUM;
                model.STARS_ID                = entity.STARS_ID;
                model.EVENT_ID                = entity.EVENT_ID;
                model.ARR_DATE                = entity.ARR_DATE;
                model.ARR_TIME                = entity.ARR_TIME;
                model.ARR_AIRLINE             = entity.ARR_AIRLINE;
                model.ARR_FLIGHT_NUM          = entity.ARR_FLIGHT_NUM;
                model.ARR_CITY                = entity.ARR_CITY;
                model.DEP_DATE                = entity.DEP_DATE;
                model.DEP_TIME                = entity.DEP_TIME;
                model.DEP_AIRLINE             = entity.DEP_AIRLINE;
                model.DEP_FLIGHT_NUM          = entity.DEP_FLIGHT_NUM;
                model.DEP_CITY                = entity.DEP_CITY;
                model.DEP_DEST_CITY           = entity.DEP_DEST_CITY;
                model.MULTI_FLAG              = entity.MULTI_FLAG;
                model.ARR_DEP_CITY            = entity.ARR_DEP_CITY;
                model.ARR_TERMINAL            = entity.ARR_TERMINAL;
                model.CONNECTING_FLIGHT_NOTES = entity.CONNECTING_FLIGHT_NOTES;
                model.UPDATE_DATE             = entity.UPDATE_DATE;
                model.UPDATED_BY              = entity.UPDATED_BY;
                model.CREATED_BY              = entity.CREATED_BY;
                model.CREATED_DATE            = entity.CREATED_DATE;

                //model.haveProfileWslxId = string.IsNullOrEmpty(entity.WSLX_ID) ? false : true;
            }

            return(model);
        }
コード例 #5
0
        public ActionResult Travel(string starsid = "")
        {
            ViewBag.homeid = "home";
            FlightInfoModel model     = new FlightInfoModel();
            FlightInfoBL    _flightBl = new FlightInfoBL();
            RegistrationBL  _regBl    = new RegistrationBL();

            if (Session["StarsIdProfile"] != null)
            {
                var _id = Session["StarsIdProfile"].ToString();

                if (_regBl.CheckRegistrationBy(_id) == true)
                {
                    decimal?eventid = _flightBl.GetEventIdByStarsId(_id);
                    model = _flightBl.GetFlightInfoByStarsId(_id, eventid);
                    // model.EVENT_ID =  _flightBl.GetEventIdByStarsId(_id);
                    // eventid; // Run a Query against Registration table to get only event id by Stars ID
                    if (model == null)
                    {
                        return(View(model));
                    }

                    return(View(model));
                }
                else
                {
                    return(RedirectToAction("Index", "Registration"));
                }
            }
            else
            {
                return(RedirectToAction("Welcome", "LBC"));
            }
        }
コード例 #6
0
        /// <summary>
        /// Method to Insert the data on the FlightInfo table
        /// </summary>
        /// <param name="model"></param>
        public void SaveFlightInfo(FlightInfoModel model)
        {
            using (LBCData context = new LBCData(ConnectionHelper.getConnectionString()))
            {
                LBC_FLIGHT_INFO _flightInfo = new LBC_FLIGHT_INFO()
                {
                    //REGD_SEQ_NUM = model.REGD_SEQ_NUM,
                    STARS_ID                = model.STARS_ID,
                    EVENT_ID                = model.EVENT_ID,
                    ARR_DATE                = model.ARR_DATE,
                    ARR_TIME                = model.ARR_TIME,
                    ARR_AIRLINE             = model.ARR_AIRLINE,
                    ARR_FLIGHT_NUM          = model.ARR_FLIGHT_NUM,
                    ARR_CITY                = model.ARR_CITY,
                    DEP_DATE                = model.DEP_DATE,
                    DEP_TIME                = model.DEP_TIME,
                    DEP_AIRLINE             = model.DEP_AIRLINE,
                    DEP_FLIGHT_NUM          = model.DEP_FLIGHT_NUM,
                    DEP_CITY                = model.DEP_CITY,
                    DEP_DEST_CITY           = model.DEP_DEST_CITY,
                    MULTI_FLAG              = model.MULTI_FLAG,
                    CREATED_DATE            = model.CREATED_DATE,
                    CREATED_BY              = model.CREATED_BY,
                    ARR_DEP_CITY            = model.ARR_DEP_CITY,
                    ARR_TERMINAL            = model.ARR_TERMINAL,
                    CONNECTING_FLIGHT_NOTES = model.CONNECTING_FLIGHT_NOTES,
                };

                context.LBC_FLIGHT_INFO.Add(_flightInfo);
                context.SaveChanges();
            }
        }
コード例 #7
0
        public HttpResponseMessage GetDepartures()
        {
            var model      = new FlightInfoModel();
            var departures = model.Departures.ToList();

            return(Request.CreateResponse(HttpStatusCode.Accepted, departures.Select(x => new DepartureViewModel(x)).ToList()));
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: thanhtantrinh/RealData
        private static void Dep_OnChange(object sender, SqlNotificationEventArgs e)
        {
            Console.WriteLine("Change caught! Triggering update to Webserver...");

            if (e.Type == SqlNotificationType.Change)
            {
                Console.WriteLine("Listening...");
            }

            if (e.Info == SqlNotificationInfo.Update)
            {
                Console.WriteLine("Info Update...");
            }

            if (e.Source == SqlNotificationSource.Database)
            {
                Console.WriteLine("Source Database...");
            }

            var model             = new FlightInfoModel();
            var updatedDepartures = model.Departures.Where(x => !string.IsNullOrEmpty(x.Action));

            Update(updatedDepartures.ToList());
            StartListening();
        }
コード例 #9
0
 private void ExecuteGetSpecialFromModelCommand(FlightInfoModel model)
 {
     if (model == null)
     {
         return;
     }
     DispatcherHelper.UIDispatcher.Invoke(new Action(() => CommunicateManager.Invoke <IPidService>(service =>
     {
         var pricelist = service.sendSSPat(LoginInfo.Code, model.CarrayCode, model.FlightNumber, model.DefaultSite.SeatCode,
                                           model.StartDateTime.ToString("yyyy-MM-dd"), model.FromCityCode, model.ToCityCode, model.StartDateTime.ToString("HH:mm"),
                                           model.ToDateTime.ToString("HH:mm"));
         if (!pricelist.Any())
         {
             foreach (var m in model.SiteList.Where(m => m.CusNo == model.DefaultSite.CusNo))
             {
                 m.IsGotSpecial      = true;
                 m.IsReceivedSpecial = false;
                 break;
             }
             model.DefaultSite.IsGotSpecial      = true;
             model.DefaultSite.IsReceivedSpecial = false;
         }
         else
         {
             var info = pricelist.FirstOrDefault();
             if (info == null)
             {
                 return;
             }
             decimal taxFee;
             decimal rqFee;
             decimal seatPrice;
             decimal.TryParse(info.TAX, out taxFee);
             decimal.TryParse(info.RQFare, out rqFee);
             decimal.TryParse(info.Fare, out seatPrice);
             foreach (var m in model.SiteList.Where(m => m.CusNo == model.DefaultSite.CusNo))
             {
                 m.TaxFee            = taxFee;
                 m.RQFee             = rqFee;
                 m.SeatPrice         = seatPrice;
                 m.TicketPrice       = taxFee + rqFee + seatPrice;
                 m.Commission        = Math.Floor(m.PolicyPoint / 100 * m.SeatPrice);
                 m.Discount          = m.SeatPrice > 0 && m.SpecialYPrice > 0 ? Convert.ToInt32((m.SeatPrice / m.SpecialYPrice) * 100) : m.Discount;
                 m.IsGotSpecial      = true;
                 m.IsReceivedSpecial = true;
                 break;
             }
             model.TaxFee = model.DefaultSite.TaxFee = taxFee;
             model.RQFee  = model.DefaultSite.RQFee = rqFee;
             model.DefaultSite.SeatPrice         = seatPrice;
             model.DefaultSite.TicketPrice       = taxFee + rqFee + seatPrice;
             model.DefaultSite.Commission        = Math.Floor(model.DefaultSite.PolicyPoint / 100 * model.DefaultSite.SeatPrice);
             model.DefaultSite.Discount          = model.DefaultSite.SeatPrice > 0 && model.DefaultSite.SpecialYPrice > 0 ? Convert.ToInt32((model.DefaultSite.SeatPrice / model.DefaultSite.SpecialYPrice) * 100) : model.DefaultSite.Discount;
             model.DefaultSite.IsGotSpecial      = true;
             model.DefaultSite.IsReceivedSpecial = true;
         }
         FlightInfoModels = FlightInfoModels;
     }, UIManager.ShowErr)));
 }
コード例 #10
0
        private void ExceuteBookingCommand(FlightInfoModel flight)
        {
            var list = new List <FlightInfoModel> {
                FlightInfoModel, flight
            };

            LocalUIManager.ShowTicketBooking(list.ToArray(), null, null, c_CloseTicketBookingBackWindow);
        }
コード例 #11
0
        private static void Dep_OnChange(object sender, SqlNotificationEventArgs e)
        {
            Console.WriteLine("Change caught! Triggering update to Webserver...");
            var model             = new FlightInfoModel();
            var updatedDepartures = model.Departures.Where(x => !string.IsNullOrEmpty(x.Action));

            Update(updatedDepartures.ToList());
            StartListening();
        }
コード例 #12
0
 private void ExecuteLeaveCommand(FlightInfoModel model)
 {
     if (model == null)
     {
         return;
     }
     if (model.IsSiteListChanged)
     {
         model.IsSiteListChanged = false;
     }
 }
コード例 #13
0
        public decimal?GetEventIdByStarsId(string StarsId)
        {
            FlightInfoModel model = new FlightInfoModel();

            using (LBCData context = new LBCData(ConnectionHelper.getConnectionString()))
            {
                var _flight = from rg in context.LBC_REGISTRATION
                              where rg.STARS_ID == StarsId && rg.REGD_STATUS == "A"
                              select new FlightInfoModel
                {
                    EVENT_ID = rg.EVENT_ID
                };
                model = _flight.SingleOrDefault();
            }

            return(model.EVENT_ID);
        }
コード例 #14
0
        public ActionResult Travel(FlightInfoModel model)
        {
            FlightInfoBL _flightBl = new FlightInfoBL();


            if (_flightBl.CheckFlightInfoBy(model.STARS_ID, model.EVENT_ID))
            {
                model.UPDATE_DATE = DateTime.Now;
                model.UPDATED_BY  = System.Web.HttpContext.Current.Session["w_user"].ToString();
                _flightBl.UpdateFlightInfo(model);
            }
            else
            {
                model.CREATED_DATE = DateTime.Now;
                model.CREATED_BY   = System.Web.HttpContext.Current.Session["w_user"].ToString();
                _flightBl.SaveFlightInfo(model);
            }
            return(RedirectToAction("Welcome", "LBC"));
        }
コード例 #15
0
        /// <summary>
        /// Method to Update the FlightInfo Table
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdateFlightInfo(FlightInfoModel model)
        {
            bool save = true;

            try
            {
                using (LBCData context = new LBCData(ConnectionHelper.getConnectionString()))
                {
                    var _flightInfo = (from p in context.LBC_FLIGHT_INFO
                                       where p.STARS_ID == model.STARS_ID && p.EVENT_ID == model.EVENT_ID
                                       select p).FirstOrDefault();
                    _flightInfo.ARR_DATE                = model.ARR_DATE;
                    _flightInfo.ARR_TIME                = model.ARR_TIME;
                    _flightInfo.ARR_AIRLINE             = model.ARR_AIRLINE;
                    _flightInfo.ARR_FLIGHT_NUM          = model.ARR_FLIGHT_NUM;
                    _flightInfo.ARR_CITY                = model.ARR_CITY;
                    _flightInfo.ARR_DEP_CITY            = model.ARR_DEP_CITY;
                    _flightInfo.ARR_TERMINAL            = model.ARR_TERMINAL;
                    _flightInfo.CONNECTING_FLIGHT_NOTES = model.CONNECTING_FLIGHT_NOTES;
                    _flightInfo.DEP_DATE                = model.DEP_DATE;
                    _flightInfo.DEP_AIRLINE             = model.DEP_AIRLINE;
                    _flightInfo.DEP_FLIGHT_NUM          = model.DEP_FLIGHT_NUM;
                    _flightInfo.DEP_CITY                = model.DEP_CITY;
                    _flightInfo.DEP_DEST_CITY           = model.DEP_DEST_CITY;
                    _flightInfo.DEP_TIME                = model.DEP_TIME;
                    _flightInfo.MULTI_FLAG              = model.MULTI_FLAG;
                    _flightInfo.UPDATE_DATE             = model.UPDATE_DATE;
                    _flightInfo.UPDATED_BY              = model.UPDATED_BY;

                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                throw ex;
                // save = false;
            }
            return(save);
        }
コード例 #16
0
        public FlightInfoModel GetFlightInfoByStarsIdAfterChange(string StarsId, decimal?eventid)
        {
            FlightInfoModel model = new FlightInfoModel();

            using (LBCData context = new LBCData(ConnectionHelper.getConnectionString()))
            {
                var _flight = from rg in context.LBC_REGISTRATION
                              from fl in context.LBC_FLIGHT_INFO.Where(fl => fl.STARS_ID == rg.STARS_ID && fl.EVENT_ID == rg.EVENT_ID).DefaultIfEmpty()
                              where rg.STARS_ID == StarsId && rg.EVENT_ID == eventid && rg.REGD_STATUS == "C"
                              select new FlightInfoModel
                {
                    REGD_SEQ_NUM            = fl.REGD_SEQ_NUM,
                    STARS_ID                = rg.STARS_ID,
                    EVENT_ID                = rg.EVENT_ID,
                    ARR_DATE                = fl.ARR_DATE,
                    ARR_TIME                = fl.ARR_TIME,
                    ARR_AIRLINE             = fl.ARR_AIRLINE,
                    ARR_FLIGHT_NUM          = fl.ARR_FLIGHT_NUM,
                    ARR_CITY                = fl.ARR_CITY,
                    DEP_DATE                = fl.DEP_DATE,
                    DEP_TIME                = fl.DEP_TIME,
                    DEP_AIRLINE             = fl.DEP_AIRLINE,
                    DEP_FLIGHT_NUM          = fl.DEP_FLIGHT_NUM,
                    DEP_CITY                = fl.DEP_CITY,
                    DEP_DEST_CITY           = fl.DEP_DEST_CITY,
                    MULTI_FLAG              = fl.MULTI_FLAG,
                    CREATED_BY              = fl.CREATED_BY,
                    CREATED_DATE            = fl.CREATED_DATE,
                    UPDATED_BY              = fl.UPDATED_BY,
                    UPDATE_DATE             = fl.UPDATE_DATE,
                    ARR_DEP_CITY            = fl.ARR_DEP_CITY,
                    ARR_TERMINAL            = fl.ARR_TERMINAL,
                    CONNECTING_FLIGHT_NOTES = fl.CONNECTING_FLIGHT_NOTES
                };
                model = _flight.SingleOrDefault();
            }
            return(model);
        }
コード例 #17
0
        /// <summary>
        /// 显示机票预订往返/联程窗口
        /// </summary>
        /// <param name="flightInfoModel"></param>
        /// <param name="flightInfoModels"></param>
        /// <param name="isShowCommissionColumn"></param>
        /// <param name="call"></param>
        internal static void ShowTicketBookingBack(FlightInfoModel flightInfoModel, FlightInfoModel[] flightInfoModels, Visibility isShowCommissionColumn, Action <bool?> call)
        {
            var vm = new TicketBookingBackViewModel
            {
                FlightInfoModel        = flightInfoModel,
                FlightInfoModels       = flightInfoModels,
                IsShowCommissionColumn = isShowCommissionColumn
            };

            _backwindow = new TicketBookingBackWindow(vm)
            {
                Owner = Application.Current.MainWindow
            };
            var result = _backwindow.ShowDialog();

            if (call != null)
            {
                call(result);
            }

            _backwindow.DataContext = null;
            _backwindow             = null;
        }
コード例 #18
0
 private bool CanExecuteGetSpecialFromModelCommand(FlightInfoModel model)
 {
     return(!IsBusy && model != null);
 }
コード例 #19
0
        /// <summary>
        /// Method to Save Flight Info
        /// </summary>
        /// <param name="model"></param>
        public void SaveFlightInfo(FlightInfoModel model)
        {
            FlightInfoRepository _flightInfo = new FlightInfoRepository();

            _flightInfo.SaveFlightInfo(model);
        }
コード例 #20
0
 public bool CanExecuteQueryStopTextRemarkCommand(FlightInfoModel model)
 {
     return(model.LegStopModel == null);
 }
コード例 #21
0
        /// <summary>
        /// Update the Flight Info
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public bool UpdateFlightInfo(FlightInfoModel model)
        {
            FlightInfoRepository _flightInfo = new FlightInfoRepository();

            return(_flightInfo.UpdateFlightInfo(model));
        }