示例#1
0
        /// <summary>
        /// 校验用户Token
        /// </summary>
        public BusinessResultModel TokenIsValid(string token, byte platformType)
        {
            APIResultModel retVal = new APIResultModel(200000);

            retVal.code = 200001; // 令牌无效

            try
            {
                if (!string.IsNullOrEmpty(token))
                {
                    var loginTokenModel = DAL.Auth.UserLoginToken.GetUserLoginToken(token, platformType);
                    if (loginTokenModel != null)
                    {
                        retVal.code = 200002; // 令牌已超时
                        if (DateTime.Now.Subtract(loginTokenModel.LastLoginTime).TotalDays < CachedFileConfigContext.Current.SiteConfig.LoginTokenExpiresDays)
                        {
                            retVal.code = 200003; // 令牌已失效
                            var dataList = DAL.User.UserInfo.GetList(ids: loginTokenModel.UserID.ToString(), userStatus: (byte)CommonEnumInternal.UserStatus.Normal, platformType: ClientContext.Current.PlatformType);
                            if (dataList != null && dataList.Count == 1)
                            {
                                retVal.code = retVal.RightCode;
                                retVal.data = new MDA_OUT_AuthLogin()
                                {
                                    gid   = dataList.FirstOrDefault().UserGuid.ToString(),
                                    token = token
                                };
                            }
                        }
                    }
                }
            }
            catch { retVal.code = (int)CommonEnumInternal.ProgErrorString.Key_999999; }
            return(retVal);
        }
        public APIResultModel Get(int id)
        {
            var result = new APIResultModel();

            result.Data      = _apiModel.SingleOrDefault(c => c.Id == id);
            result.IsSuccess = true;
            return(result);
        }
        public APIResultModel Get(string q)
        {
            var result = new APIResultModel();

            result.Data = _apiModel.Where(c => string.IsNullOrEmpty(q) ||
                                          Regex.IsMatch(c.Name, q, RegexOptions.IgnoreCase));
            result.IsSuccess = true;
            return(result);
        }
        public APIResultModel Post([FromBody] APIModel apiModel)
        {
            var result = new APIResultModel();

            apiModel.Id = _apiModel.Count() == 0 ? 1 : _apiModel.Max(c => c.Id) + 1;
            _apiModel.Add(apiModel);
            result.Data      = apiModel.Id;
            result.IsSuccess = true;
            return(result);
        }
        public ActionResult EditPost(string tourInfoId, string tourId, TourModel model)
        {
            if (ModelState.IsValid)
            {
                if (Session["token"] == null)
                {
                    return(RedirectToAction("Index", "Login"));
                }
                string token = Session["token"].ToString();

                var client = connector.Initial();
                client.Timeout = -1;
                var request = new RestRequest("admin/tour-infos/" + tourInfoId + "/tours/" + tourId, Method.PUT);
                request.AddHeader("Authorization", "Bearer " + token);
                request.AddHeader("Content-Type", "application/json");
                request.AddParameter("id", tourInfoId);
                request.AddParameter("tourId", tourId);
                request.AddJsonBody(new
                {
                    Id         = tourId,
                    Name       = model.Name,
                    Rating     = model.Rating,
                    StartDay   = model.StartDay,
                    EndDay     = model.EndDay,
                    TotalDay   = model.TotalDay,
                    TotalNight = model.TotalNight,
                    MaxMember  = model.MaxMember,
                    Price      = model.Price,
                    Timeline   = JsonConvert.DeserializeObject <List <TimelineModel> >(Request["JsonTimelines"]),
                    Service    = JsonConvert.DeserializeObject <List <String> >(Request["JsonServices"]),
                    TourInfo   = JsonConvert.DeserializeObject <TourInfoModel>(Request["JsonTourInfo"]),
                    CreateBy   = JsonConvert.DeserializeObject <UserModel>(Request["JsonCreateBy"]),
                    JoinAt     = Request["JsonJoinAt"],
                    AcceptedAt = Request["JsonAcceptedAt"]
                });

                IRestResponse response = client.Execute(request);
                if (response.IsSuccessful)
                {
                    APIResultModel result = JsonConvert.DeserializeObject <APIResultModel>(response.Content);
                    if (result.ErrorCode != 0)
                    {
                        ViewBag.error = result.Message;
                        return(RedirectToAction("Edit", "Tour", new { tourInfoId = tourInfoId, tourId = tourId }));
                    }
                    return(RedirectToAction("Detail", "TourInfo", new { id = tourInfoId }));
                }
                else
                {
                    return(RedirectToAction("Edit", "Tour", new { tourInfoId = tourInfoId, tourId = tourId }));
                }
            }
            return(View(model));
        }
        public APIResultModel Delete(int id)
        {
            var result = new APIResultModel();
            int index;

            if ((index = _apiModel.FindIndex(c => c.Id == id)) != -1)
            {
                _apiModel.RemoveAt(index);
                result.IsSuccess = true;
            }
            return(result);
        }
        public APIResultModel Put(int id, [FromBody] APIModel apiModel)
        {
            var result = new APIResultModel();
            int index;

            if ((index = _apiModel.FindIndex(c => c.Id == id)) != -1)
            {
                _apiModel[index] = apiModel;
                result.IsSuccess = true;
            }
            return(result);
        }
        public ActionResult EditPost(string id, UserEditViewModel model)
        {
            if (ModelState.IsValid)
            {
                if (Session["token"] == null)
                {
                    return(RedirectToAction("Index", "Login"));
                }
                string token = Session["token"].ToString();

                var client = connector.Initial();
                client.Timeout = -1;
                var request = new RestRequest("admin/users/" + id, Method.PUT);
                request.AddHeader("Authorization", "Bearer " + token);
                request.AddHeader("Content-Type", "application/json");
                request.AddJsonBody(new
                {
                    Name        = model.Name,
                    Email       = model.Email,
                    Password    = model.Password,
                    PhoneNumber = model.PhoneNumber,
                    Address     = model.Address,
                    Avatar      = model.Avatar,
                    Slogan      = model.Slogan,
                    Bio         = model.Bio,
                    Job         = model.Job,
                    Gender      = model.Gender,
                    Birthday    = model.Birthday,
                    Role        = model.Role,
                });

                IRestResponse response = client.Execute(request);
                if (response.IsSuccessful)
                {
                    APIResultModel result = JsonConvert.DeserializeObject <APIResultModel>(response.Content);
                    if (result.ErrorCode != 0)
                    {
                        ViewBag.error = result.Message;
                        return(View());
                    }

                    return(RedirectToAction("Index", "User"));
                }
                else
                {
                    return(RedirectToAction("Edit", "User"));
                }
            }
            return(View());
        }
        public ActionResult CreatePost(TourInfoCreateViewModel model)
        {
            ViewBag.PlacesPicklist = this.GetPlacesPicklist();

            if (ModelState.IsValid)
            {
                if (Session["token"] == null)
                {
                    return(RedirectToAction("Index", "Login"));
                }
                string token = Session["token"].ToString();
                // store img to IMGUR first
                List <string> imagesUrl = new List <string>();
                if (model.Images.Count() > 0)
                {
                    imagesUrl = AdminHelper.Instance.StoreImagur(model.Images);
                }

                var client = connector.Initial();
                client.Timeout = -1;
                var request = new RestRequest("admin/tour-infos", Method.POST);
                request.AddHeader("Authorization", "Bearer " + token);
                request.AddHeader("Content-Type", "application/json");
                request.AddJsonBody(new
                {
                    Name             = model.Name,
                    StartPlaceId     = model.StartPlace,
                    DestinatePlaceId = model.DestinatePlace,
                    Images           = JsonConvert.SerializeObject(imagesUrl),
                });

                IRestResponse response = client.Execute(request);
                if (response.IsSuccessful)
                {
                    APIResultModel result = JsonConvert.DeserializeObject <APIResultModel>(response.Content);
                    if (result.ErrorCode != 0)
                    {
                        ViewBag.error = result.Message;
                        return(View());
                    }

                    return(RedirectToAction("Index", "TourInfo"));
                }
                else
                {
                    return(RedirectToAction("Create", "TourInfo"));
                }
            }
            return(View(model));
        }
        public APIResultModel SetCache([FromBody] CacheViewModel cache)
        {
            ICacheBusiness cacheBusiness = CacheFactory.Instance("redis");

            var cacheResult = cacheBusiness.SetValue(cache.Key, cache.Value.ToString());

            APIResultModel result = new APIResultModel()
            {
                Success = cacheResult.Success,
                Message = cacheResult.Message
            };

            return(result);
        }
示例#11
0
        public ActionResult EditPost(string id, PlaceModel model)
        {
            if (ModelState.IsValid)
            {
                if (Session["token"] == null)
                {
                    return(RedirectToAction("Index", "Login"));
                }
                string token = Session["token"].ToString();
                // store img to IMGUR first
                List <string> imagesUrl = new List <string>();
                if (model.FileImages.Count() > 0)
                {
                    imagesUrl = AdminHelper.Instance.StoreImagur(model.FileImages);
                }

                var client = connector.Initial();
                client.Timeout = -1;
                var request = new RestRequest("admin/places/" + id, Method.PUT);
                request.AddHeader("Authorization", "Bearer " + token);
                request.AddHeader("Content-Type", "application/json");
                request.AddJsonBody(new
                {
                    Name        = model.Name,
                    Description = model.Description,
                    Images      = JsonConvert.SerializeObject(imagesUrl)
                });

                IRestResponse response = client.Execute(request);
                if (response.IsSuccessful)
                {
                    APIResultModel result = JsonConvert.DeserializeObject <APIResultModel>(response.Content);
                    if (result.ErrorCode != 0)
                    {
                        ViewBag.error = result.Message;
                        return(View());
                    }

                    return(RedirectToAction("Index", "Place"));
                }
                else
                {
                    return(RedirectToAction("Edit", "Place"));
                }
            }
            return(View(model));
        }
示例#12
0
        public ActionResult CreatePost(TourModel model)
        {
            if (ModelState.IsValid)
            {
                if (Session["token"] == null)
                {
                    return(RedirectToAction("Index", "Login"));
                }
                string token = Session["token"].ToString();

                var client = connector.Initial();
                client.Timeout = -1;
                var request = new RestRequest("admin/tour-infos/" + model.TourInfoId + "/tours", Method.POST);
                request.AddHeader("Authorization", "Bearer " + token);
                request.AddHeader("Content-Type", "application/json");
                request.AddParameter("id", model.TourInfoId);
                request.AddJsonBody(new
                {
                    Name       = model.Name,
                    StartDay   = model.StartDay,
                    EndDay     = model.EndDay,
                    TotalDay   = model.TotalDay,
                    TotalNight = model.TotalNight,
                    MaxMember  = model.MaxMember,
                    TourInfoId = model.TourInfoId,
                    Price      = model.Price,
                });

                IRestResponse response = client.Execute(request);
                if (response.IsSuccessful)
                {
                    APIResultModel result = JsonConvert.DeserializeObject <APIResultModel>(response.Content);
                    if (result.ErrorCode != 0)
                    {
                        ViewBag.error = result.Message;
                        return(View());
                    }

                    return(RedirectToAction("Index", "Place"));
                }
                else
                {
                    return(RedirectToAction("Create", "Place"));
                }
            }
            return(View(model));
        }
示例#13
0
        public async Task <IActionResult> GetById(int id = 0)
        {
            var r = await _resultDao.GetByIdAsync(id);

            //将result实体转换成APIResultModel实体
            var dataValue = new APIResultModel()
            {
                Id         = r.Id,
                StuName    = r.StuName,
                PassWord   = r.PassWord,
                FilePath   = r.FilePath,
                Title      = r.Title,
                Discrption = r.Discrption,
                Type       = r.Type.Name
            };

            return(Ok(dataValue));
        }
        public override Task OnAuthorizationAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
        {
            var model = new APIResultModel(200);

            var controller = ConvertHelper.GetString(actionContext.ControllerContext.RouteData.Values["controller"]);
            var action     = ConvertHelper.GetString(actionContext.ControllerContext.RouteData.Values["action"]);

            var ignoreAuthorizeUrls = CachedFileConfigContext.Current.SiteConfig.IgnoreAuthorizationUrls.Replace("\r", "").Replace("\n", "").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);

            if (ignoreAuthorizeUrls == null)
            {
                ignoreAuthorizeUrls = new string[] { }
            }
            ;

            if (ignoreAuthorizeUrls.Where(item =>
                                          (item.Trim().ToLower() == string.Format("/{0}/*", controller.ToLower())) ||
                                          (item.Trim().ToLower() == string.Format("/{0}/{1}", controller.ToLower(), action.ToLower()))
                                          ).FirstOrDefault() == null)
            {
                model.code = (int)CommonEnumInternal.ProgErrorString.Key_100001;

                if (ClientContext.Current.UserInfo != null && ClientContext.Current.UserInfo.UserID > 0 && ClientContext.Current.UserInfo.UserGuid != Guid.Empty)
                {
                    model.code = model.RightCode;
                }
            }

            model.code = model.RightCode;

            if (model.code != model.RightCode)
            {
                actionContext.Response = new HttpResponseMessage()
                {
                    StatusCode = System.Net.HttpStatusCode.OK,
                    Content    = new ObjectContent <APIResultModel>(model, new JsonMediaTypeFormatter())
                };
            }

            return(base.OnAuthorizationAsync(actionContext, cancellationToken));
        }
    }
        public APIResultModel GetCache([FromQuery] string key)
        {
            APIResultModel result = new APIResultModel();

            return(result);
        }
示例#16
0
        public override Task OnActionExecutingAsync(HttpActionContext actionContext, CancellationToken cancellationToken)
        {
            var model = new APIResultModel(200);

            if (!EnumHelper.IsDefined(typeof(CommonEnumInternal.LanguageType), ClientContext.Current.ClientLanguage))
            {
                model.code = 1000002; // 客户端语言设置错误
            }

            if (!EnumHelper.IsDefined(typeof(CommonEnumInternal.PlatformType), ClientContext.Current.PlatformType) ||
                ClientContext.Current.PlatformType == (byte)CommonEnumInternal.PlatformType.Unknown)
            {
                model.code = 1000003; // 客户端识别码设置错误
            }

            if (model.code == model.RightCode)
            {
                #region "过滤器代码区"

                // TO DO

                #region "请求日志"

                if (CachedFileConfigContext.Current.SiteConfig.ClientRequestWriteLog)
                {
                    var message = new ClientRequestLog
                    {
                        Url          = HttpContext.Current.Request.Url.ToString(),
                        QueryParas   = SerializationHelper.Newtonsoft_Serialize(HttpContext.Current.Request.QueryString),
                        FormParas    = SerializationHelper.Newtonsoft_Serialize(HttpContext.Current.Request.Form),
                        HeaderParas  = SerializationHelper.Newtonsoft_Serialize(HttpContext.Current.Request.Headers),
                        IPAddress    = WebHelper.UserIPAddress,
                        UserID       = ClientContext.Current.UserInfo != null ? ClientContext.Current.UserInfo.UserID : 0,
                        PlatformType = ClientContext.Current.PlatformType
                    };
                    Log4NetHelper.Info(LoggerType.ClientRequestLog, message, null);
                }

                #endregion

                #region "参数解密"

                #endregion

                #region "签名校验"

                #endregion

                #region "参数过滤"

                if (!actionContext.Request.Content.IsMimeMultipartContent())
                {
                    var actionParas = new Dictionary <string, object>(actionContext.ActionArguments);
                    actionContext.ActionArguments.Clear();
                    foreach (var item in actionParas)
                    {
                        if (item.Value != null)
                        {
                            if (item.Value.IsReferenceObject())
                            {
                                item.Value.ReplaceSQLKeywords();
                                actionContext.ActionArguments.Add(item.Key, item.Value);
                            }
                            else
                            {
                                actionContext.ActionArguments.Add(item.Key, ConvertHelper.GetString(item.Value).ReplaceSQLKeywords());
                            }
                        }
                    }
                }

                #endregion

                #endregion
            }

            if (model.code != model.RightCode)
            {
                actionContext.Response = new HttpResponseMessage()
                {
                    StatusCode = System.Net.HttpStatusCode.OK,
                    Content    = new ObjectContent <APIResultModel>(model, new JsonMediaTypeFormatter())
                };
            }

            return(base.OnActionExecutingAsync(actionContext, cancellationToken));
        }