public bool TryGetTourInfo(int userId, int tourId, out TourInfo tourInfo)
        {
            try
            {
                DbService.ConnectDb(out _context);
                var tour = _context.Tours.SingleOrDefault(t => t.Id == tourId) ??
                           throw new ExceptionWithMessage("Tour not found");
                tourInfo = _context.TourInfos.FirstOrDefault(t => t.Id == tour.TourInfoId);

                var tourInfoDb       = tourInfo;
                var startPlace       = _context.Places.FirstOrDefault(p => p.Id == tourInfoDb.StartPlaceId);
                var destinationPlace = _context.Places.FirstOrDefault(p => p.Id == tourInfoDb.DestinatePlaceId);
                var createBy         = _context.Users.FirstOrDefault(u => u.Id == tourInfoDb.CreateById);

                var friendType = _friendService.CalculateIsFriend(userId, createBy.Id);

                tourInfo.StartPlace     = startPlace;
                tourInfo.DestinatePlace = destinationPlace;
                tourInfo.CreateBy       = createBy.ToSimpleUser(friendType);
            }
            finally
            {
                DbService.DisconnectDb(ref _context);
            }

            return(true);
        }
Example #2
0
 // POST: api/TourInfo
 public void Post([FromBody] TourInfo value)
 {
     if (value != null)
     {
         var mapper = new MapperConfiguration(cfg => cfg.CreateMap <TourInfo, TourInfoDTO>()).CreateMapper();
         service.MakeInfo(mapper.Map <TourInfo, TourInfoDTO>(value));
     }
 }
Example #3
0
    public static void SaveTournament(TournamentController info)
    {
        BinaryFormatter bin = new BinaryFormatter();

        string     path   = Application.persistentDataPath + "/tour.bin";
        FileStream stream = new FileStream(path, FileMode.Create);

        TourInfo tourData = new TourInfo(info);

        bin.Serialize(stream, tourData);
        stream.Close();
    }
        public void MakeInfo(TourInfoDTO tourInfoDTO)//(TourInfoDTO tourInfoDTO)
        {
            // deserialize = new TourInfoDeserialize();
            //TourInfoDTO tourInfoDTO = deserialize.deserializeVary(data);

            TourInfo info = new TourInfo
            {
                Info = tourInfoDTO.Info,
            };

            Database.TourInfos.Create(info);
            Database.Save();
        }
 public SimpleTour(int id, string name, DateTime startDay, DateTime endDay, int totalMember, SimpleUser host,
                   List <SimpleUser> friends, double price, TourInfo tourInfo, DateTime?joinAt, DateTime?acceptedAt)
 {
     Id          = id;
     Name        = name;
     StartDay    = startDay;
     EndDay      = endDay;
     TotalMember = totalMember;
     Host        = host;
     Friends     = friends;
     Price       = price;
     TourInfo    = tourInfo;
     JoinAt      = joinAt;
     AcceptedAt  = acceptedAt;
 }
Example #6
0
        public bool TryUpdateTourInfo(TourInfo tourInfo)
        {
            try
            {
                DbService.ConnectDb(out _context);
                _context.TourInfos.Update(tourInfo);
                _context.SaveChanges();
            }
            finally
            {
                DbService.DisconnectDb(ref _context);
            }

            return(true);
        }
Example #7
0
        public bool TryGetTourInfoById(int tourId, out TourInfo tourInfos)
        {
            tourInfos = null;

            try
            {
                DbService.ConnectDb(out _context);
                tourInfos = _context.TourInfos.FirstOrDefault(a => a.Id == tourId);
            }
            finally
            {
                DbService.DisconnectDb(ref _context);
            }

            return(true);
        }
        public ErrorCode TryGetTourInfoById(int tourId, out TourInfo tourInfos)
        {
            tourInfos = null;
            ErrorCode errorCode;

            try
            {
                DbService.ConnectDb(out _context);
                tourInfos = _context.TourInfos.FirstOrDefault(a => a.Id == tourId);
                errorCode = ErrorCode.Success;
            }
            finally
            {
                DbService.DisconnectDb(ref _context);
            }

            return(errorCode);
        }
Example #9
0
    public static TourInfo LoadTournament()
    {
        string path = Application.persistentDataPath + "/tour.bin";

        if (File.Exists(path))
        {
            BinaryFormatter bin    = new BinaryFormatter();
            FileStream      stream = new FileStream(path, FileMode.Open);

            TourInfo tInfo = bin.Deserialize(stream) as TourInfo;

            stream.Close();
            return(tInfo);
        }
        else
        {
            return(null);
        }
    }
Example #10
0
        private JObject AddTourFullInfo(TourInfo tourInfo, int myUserId)
        {
            JObject result = null;

            do
            {
                if (tourInfo == null)
                {
                    break;
                }

                _userService.TryGetUsers(tourInfo.CreateById, out var user);
                var friendType = _friendService.CalculateIsFriend(myUserId, tourInfo.CreateById);
                _tourInfoService.TryGetPlaceById(tourInfo.StartPlaceId, out var starPlace);
                _tourInfoService.TryGetPlaceById(tourInfo.DestinatePlaceId, out var destinationPlace);

                result = tourInfo.ToJson(user.ToSimpleUser(friendType), starPlace, destinationPlace);
            } while (false);

            return(result);
        }
        public bool TryAddTourInfo(TourInfo tourInfo)
        {
            try
            {
                DbService.ConnectDb(out _context);

                var destinatePlace = _context.Places.FirstOrDefault(p => p.Id == tourInfo.DestinatePlaceId) ??
                                     throw new ExceptionWithMessage("Place not found");
                var startPlace = _context.Places.FirstOrDefault(p => p.Id == tourInfo.StartPlaceId) ??
                                 throw new ExceptionWithMessage("Place not found");

                _context.TourInfos.Add(tourInfo);
                _context.SaveChanges();
            }
            finally
            {
                DbService.DisconnectDb(ref _context);
            }

            return(true);
        }
Example #12
0
        public void MakeTour(TourDTO tourDTO)//(TourDTO tourDTO)
        {
            //deserialize = new TourDeserialize();
            //TourDTO tourDTO = deserialize.deserializeVary(TourVary);

            TourType type = Database.TourTypes.Get(tourDTO.TourTypeId);
            TourInfo info = Database.TourInfos.Get(tourDTO.InfoId);

            if (type == null || info == null)
            {
                throw new ValidationException("Data - info/type is not found", "");
            }
            Tour tour = new Tour
            {
                Name       = tourDTO.Name,
                TourTypeId = tourDTO.TourTypeId,
                InfoId     = tourDTO.InfoId,
            };

            Database.Tours.Create(tour);
            Database.Save();
        }
Example #13
0
    //Load this tournament
    public void LoadTour()
    {
        TourInfo info = SaveSystem.LoadTournament();

        tourName              = info.tourName;
        teamSelected          = info.teamSelected;
        matchTime             = info.matchTime;
        tourLevel             = info.tourLevel;
        teamsAmount           = info.teamsAmount;
        groupsAmount          = info.groupsAmount;
        matchesRound          = info.matchesRound;
        teamsForKnockoutStage = info.teamsForKnockoutStage;

        teamList          = info.teamList;
        playerMatches     = info.playerMatches;
        groupPhaseMatches = info.groupPhaseMatches;

        teamsForFinals       = info.teamsForFinals;
        leftKeyFinalMatches  = info.leftKeyFinalMatches;
        rightKeyFinalMatches = info.rightKeyFinalMatches;

        finalMatch = info.finalMatch;
    }
Example #14
0
        private static bool GetSingleTourInfo(HtmlNode tourInfoNode, out ITourInfo tourInfo)
        {
            var name = XmlParse.GetStringNodeValue(tourInfoNode, "name", "");
            var xpath = XmlParse.GetStringNodeValue(tourInfoNode, "xpath", "");
            IList<ITourInfoConverter> tourInfoPreConventersForAll = new List<ITourInfoConverter>();
            var convertersForAll = XmlParse.GetStringListNodeValue(tourInfoNode, "allfields/preconverters/converter");
            if (convertersForAll != null)
            {
                foreach (var converter in convertersForAll)
                {
                    tourInfoPreConventersForAll.Add(new TourInfoConverter(converter));
                }
            }

            IList<ITourInfoConverter> tourInfoPreHtmlConventersForAll = new List<ITourInfoConverter>();
            convertersForAll = XmlParse.GetStringListNodeValue(tourInfoNode, "allfields/prehtmlconverters/converter");
            if (convertersForAll != null)
            {
                foreach (var converter in convertersForAll)
                {
                    tourInfoPreHtmlConventersForAll.Add(new TourInfoConverter(converter));
                }
            }

            IList<ITourInfoConverter> tourInfoPostConventersForAll = new List<ITourInfoConverter>();
            convertersForAll = XmlParse.GetStringListNodeValue(tourInfoNode, "allfields/postconverters/converter");
            if (convertersForAll != null)
            {
                foreach (var converter in convertersForAll)
                {
                    tourInfoPostConventersForAll.Add(new TourInfoConverter(converter));
                }
            }
            IList<ITourInfoField> fields = new List<ITourInfoField>();
            var fieldNodes = tourInfoNode.SelectNodes("fields/field");
            if (fieldNodes != null)
            {
                foreach (var fieldNode in fieldNodes)
                {
                    var field = new TourInfoField();
                    field.Name = XmlParse.GetStringNodeValue(fieldNode, "name", "");
                    field.XPath = XmlParse.GetStringNodeValue(fieldNode, "xpath", "");
                    field.Regex = XmlParse.GetStringNodeValue(fieldNode, "regex", "");
                    var preconverters = XmlParse.GetStringListNodeValue(fieldNode, "preconverters/converter");
                    var tourInfoPreConventers = new List<ITourInfoConverter>();
                    if (preconverters != null)
                    {
                        foreach (var converter in preconverters)
                        {
                            tourInfoPreConventers.Add(new TourInfoConverter(converter));
                        }
                    }

                    var preHtmlconverters = XmlParse.GetStringListNodeValue(fieldNode, "prehtmlconverters/converter");
                    var tourInfoPreHtmlConverters = new List<ITourInfoConverter>();
                    if (preHtmlconverters != null)
                    {
                        foreach (var converter in preHtmlconverters)
                        {
                            tourInfoPreHtmlConverters.Add(new TourInfoConverter(converter));
                        }
                    }

                    var postconverters = XmlParse.GetStringListNodeValue(fieldNode, "postconverters/converter");
                    var tourInfoPostConventers = new List<ITourInfoConverter>();
                    if (postconverters != null)
                    {
                        foreach (var converter in postconverters)
                        {
                            tourInfoPostConventers.Add(new TourInfoConverter(converter));
                        }
                    }
                    field.PreHtmlConverters = tourInfoPreHtmlConverters;
                    field.PreConverters = tourInfoPreConventers;
                    field.PostConverters = tourInfoPostConventers;
                    fields.Add(field);
                }

            }
            tourInfo = new TourInfo() { Name = name,
                    XPath = xpath,
                    PreConvertersForAllFields = tourInfoPreConventersForAll,
                    PreHtmlConvertersForAllFields=tourInfoPreHtmlConventersForAll,
                    PostConvertersForAllFields = tourInfoPostConventersForAll,
                    Fields = fields };
            return true;
        }
Example #15
0
        public void Setup()
        {
            list = new List <ListOfCountry>
            {
                new ListOfCountry()
                {
                    Id = 1, CountryId = 2, TourId = 3,
                },
                new ListOfCountry()
                {
                    Id = 2, CountryId = 5, TourId = 7,
                },
                new ListOfCountry()
                {
                    Id = 3, CountryId = 3, TourId = 2,
                },
                new ListOfCountry()
                {
                    Id = 4, CountryId = 1, TourId = 1,
                }
            };
            tours = new List <Tour>
            {
                new Tour()
                {
                    Id = 1, Name = "Aqua", TourTypeId = 6, InfoId = 3,
                },
                new Tour()
                {
                    Id = 2, Name = "Fary", TourTypeId = 5, InfoId = 2,
                },
                new Tour()
                {
                    Id = 3, Name = "Tommy", TourTypeId = 4, InfoId = 1,
                },
                new Tour()
                {
                    Id = 4, Name = "Whale", TourTypeId = 3, InfoId = 2,
                },
                new Tour()
                {
                    Id = 5, Name = "Grid", TourTypeId = 2, InfoId = 3,
                }
            };

            type = new TourType()
            {
                Id = 1, Type = "Drama"
            };
            info = new TourInfo()
            {
                Id = 2, Info = "Perfect fot you."
            };
            t = new Tour()
            {
                Id = 7, Name = "TourExample", TourTypeId = 4, InfoId = 2
            };
            country = new Country()
            {
                Id = 4, Name = "USA", RegionId = 4
            };
        }
Example #16
0
        /// <summary>
        /// 绑定行程内容
        /// </summary>
        void BindxlXianchen()
        {
            string tourid = Utils.GetQueryStringValue("tourid");

            //线路编号
            if (tourid.Length > 0)
            {
                //线路BLL
                Tour bll = new Tour();
                //获取实体
                TourBaseInfo baseModel = bll.GetTourInfo(tourid);
                //实例化行程安排
                IList <XingCheng> xclist = new List <XingCheng>();
                switch (baseModel.TourType)
                {
                case EyouSoft.Model.EnumType.TourStructure.TourType.散拼计划:
                    #region 散拼计划
                    //强转散拼计划实体
                    TourInfo spModel = (TourInfo)baseModel;
                    //判断发布类型
                    if (spModel.ReleaseType == EyouSoft.Model.EnumType.TourStructure.ReleaseType.Normal)
                    {
                        //显示标准发布行程信息
                        rptXC.Visible = true;
                        //遍历行程性息
                        foreach (var l in spModel.TourNormalInfo.Plans)
                        {
                            xclist.Add(new XingCheng(l.Interval, l.Vehicle, l.Hotel, l.Dinner.Contains("1") ? 1 : 0, l.Dinner.Contains("2") ? 1 : 0, l.Dinner.Contains("3") ? 1 : 0, l.Dinner.Contains("4") ? 1 : 0, l.Plan, l.FilePath));
                        }
                        //出团时间
                        xcTime = spModel.LDate;
                    }
                    else
                    {
                        //显示快速发布的行程信息
                        lblXC.Visible = true;
                        //显示内容赋值
                        if (spModel.TourQuickInfo.QuickPlan.Length > 0)
                        {
                            lblXC.Text = "<br/> 内容:" + spModel.TourQuickInfo.QuickPlan;
                        }
                        else
                        {
                            lblXC.Text = "<br/> 暂无数据!";
                        }
                    }

                    #endregion
                    break;

                case EyouSoft.Model.EnumType.TourStructure.TourType.团队计划:
                    #region 团队计划
                    //强转团队计划实体
                    TourTeamInfo tdmodel = (TourTeamInfo)baseModel;
                    //判断发布类型
                    if (tdmodel.ReleaseType == EyouSoft.Model.EnumType.TourStructure.ReleaseType.Normal)
                    {
                        //显示标准发布行程信息
                        rptXC.Visible = true;
                        //遍历行程性息
                        foreach (var l in tdmodel.TourNormalInfo.Plans)
                        {
                            xclist.Add(new XingCheng(l.Interval, l.Vehicle, l.Hotel, l.Dinner.Contains("1") ? 1 : 0, l.Dinner.Contains("2") ? 1 : 0, l.Dinner.Contains("3") ? 1 : 0, l.Dinner.Contains("4") ? 1 : 0, l.Plan, l.FilePath));
                        }
                        //出团时间
                        xcTime = tdmodel.LDate;
                    }
                    else
                    {
                        //显示快速发布的行程信息
                        lblXC.Visible = true;
                        //显示内容赋值
                        if (tdmodel.TourQuickInfo.QuickPlan.Length > 0)
                        {
                            lblXC.Text = "<br/>内容:" + tdmodel.TourQuickInfo.QuickPlan;
                        }
                        else
                        {
                            lblXC.Text = "<br/> 暂无数据!";
                        }
                    }
                    #endregion
                    break;
                }
                //判断标准发布数据是否存在
                if (rptXC != null)
                {
                    rptXC.DataSource = xclist;
                    rptXC.DataBind();
                }
                else
                {
                    //显示提示
                    lblMsg.Visible = true;
                    //隐藏列表
                    rptXC.Visible = false;
                }
            }
        }
Example #17
0
 public List <TourInfo> GetListTourInfoByTourcategory(int id)
 {
     return(TourInfo.GetListTourByCategory(id));
 }