Beispiel #1
0
        public IActionResult Create(RoleCreatePostModel model)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            if (model.Name.Trim().Length <= 0)
            {
                response.SetFailed("请输入角色名称");
                return(this.Ok(response));
            }

            using (this.DbContext)
            {
                if (this.DbContext.Role.Count(x => x.Name == model.Name) > 0)
                {
                    response.SetFailed("角色已存在");
                    return(this.Ok(response));
                }

                Role entity = this.Mapper.Map <RoleCreatePostModel, Role>(model);
                entity.IsSuperAdministrator = false;
                entity.CreateByUserId       = 1;
                entity.CreateByUserName     = "******";
                entity.UpdateByUserId       = 1;

                this.DbContext.Role.Add(entity);
                this.DbContext.SaveChanges();

                response.SetSuccess();
                return(this.Ok(response));
            }
        }
Beispiel #2
0
        public async Task <ActionResult> Edit(long Id)
        {
            if (IsUserLoggedIn())
            {
                var response = await productService.getProduct(Id);

                if (response == null)
                {
                    HttpResponseModel resp = new HttpResponseModel();
                    resp.ReasonMessage = "Product not found.";
                    return(View("Failure", resp));
                }
                List <category>       categories = new List <category>();
                IList <CategoryModel> test       = await categoryService.GetAllCategories();

                foreach (var category in test)
                {
                    category categoryToAdd = new category();
                    categoryToAdd.Id   = category.Id;
                    categoryToAdd.name = category.Title;
                    categories.Add(categoryToAdd);
                }

                ViewBag.CategoryList = new SelectList(categories, "ID", "Name");
                return(View("Edit", response));
            }
            else
            {
                return(Redirect("/login/index"));
            }
        }
Beispiel #3
0
    /// <inheritdoc />
    public Task <bool> HandleStubGenerationAsync(HttpResponseModel response, StubResponseModel stubResponseModel)
    {
        if (response.ContentIsBase64)
        {
            stubResponseModel.Base64 = response.Content;
            return(Task.FromResult(true));
        }

        var contentType = string.IsNullOrWhiteSpace(stubResponseModel.ContentType)
            ? null
            : stubResponseModel.ContentType.Split(';')[0].ToLower();

        switch (contentType)
        {
        case Constants.HtmlMime:
            stubResponseModel.Html = response.Content;
            break;

        case Constants.JsonMime:
            stubResponseModel.Json = response.Content;
            break;

        case Constants.XmlTextMime:
        case Constants.XmlApplicationMime:
            stubResponseModel.Xml = response.Content;
            break;

        default:
            stubResponseModel.Text = response.Content;
            break;
        }

        return(Task.FromResult(true));
    }
Beispiel #4
0
        public JsonResult Batch(string command, int[] ids)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            switch (command)
            {
            case "delete":
                response = this.UpdateIsEnable(false, ids);
                break;

            case "recover":
                response = this.UpdateIsEnable(true, ids);
                break;

            case "forbidden":
                response = this.UpdateStatus(false, ids);
                break;

            case "normal":
                response = this.UpdateStatus(true, ids);
                break;
            }

            return(this.Json(response));
        }
Beispiel #5
0
        public IActionResult Create(IconCreateViewModel model)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            if (model.Code.Trim().Length <= 0)
            {
                response.SetFailed("请输入图标名称");
                return(this.Ok(response));
            }

            using (this.DbContext)
            {
                if (this.DbContext.Icon.Count(x => x.Code == model.Code) > 0)
                {
                    response.SetFailed("图标已存在");
                    return(this.Ok(response));
                }

                Icon entity = this.Mapper.Map <IconCreateViewModel, Icon>(model);
                entity.CreateTime       = DateTime.Now;
                entity.CreateByUserId   = AuthenticationContextService.CurrentUser.Id;
                entity.CreateByUserName = AuthenticationContextService.CurrentUser.DisplayName;
                this.DbContext.Icon.Add(entity);
                this.DbContext.SaveChanges();
                response.SetSuccess();

                return(this.Ok(response));
            }
        }
Beispiel #6
0
        protected IActionResult StandardSearchResponse <T, TResponse>(IQueryable <T> query, Pager pager, Func <T, TResponse> convert)
        {
            IList <TResponse> models   = query.ToPagedList(pager).Select(convert).ToList();
            HttpResponseModel response = new HttpResponseModel(models, pager);

            return(this.Ok(response));
        }
        public async void ThenTheResultShouldBe(string p0)
        {
            _response = await _apiUserService.loginUserAsync(_requestDto);

            Assert.AreEqual(_ExpectedHttpStatusCode, _response.StatusCode);
            Assert.IsNotNull(_response.AccessToken);
        }
Beispiel #8
0
        public async Task <ActionResult> EditConfig()
        {
            if (IsUserLoggedIn())
            {
                var response = await service.GetOwnShopConfig();

                if (response == null)
                {
                    HttpResponseModel resp = new HttpResponseModel();
                    resp.ReasonMessage = "No webshop present on account.";
                    return(View("Failure", resp));
                }

                List <layout> layouts = new List <layout>();
                layouts.Add(new layout {
                    Id = 0, name = "Layout 1"
                });
                layouts.Add(new layout {
                    Id = 1, name = "Layout 2"
                });
                layouts.Add(new layout {
                    Id = 2, name = "Layout 3"
                });
                ViewBag.LayoutList = new SelectList(layouts, "ID", "Name");
                return(View("EditConfig", response));
            }
            else
            {
                return(Redirect("/login/index"));
            }
        }
        private async Task <HttpResponseModel> CallHttpRequest(string name, HttpMethod method, string param, string body = null)
        {
            var url     = "https://localhost:44330/api/" + name + param;
            var request = new HttpRequestMessage(method,
                                                 url);

            request.Headers.Add("Accept", "*/*");
            request.Headers.Add("User-Agent", "HttpClientFactory-Sample");
            if (name != "token")
            {
                request.Headers.Add("Authorization", "Bearer " + Token);
            }
            if (body != null)
            {
                request.Content = new StringContent(body, Encoding.UTF8, "application/json");
            }
            var client   = _clientFactory.CreateClient();
            var response = await client.SendAsync(request);

            var responseStream = await response.Content.ReadAsStringAsync();

            HttpResponseModel md = new HttpResponseModel {
                Response = responseStream, Code = response.StatusCode, Operation = name
            };

            return(md);
        }
Beispiel #10
0
        public async Task <ActionResult> Checkout()
        {
            List <CartProduct> cart = ((List <CartProduct>)Session["cart"]);

            if (cart == null)
            {
                HttpResponseModel resp = new HttpResponseModel();
                resp.ReasonMessage = "No products to checkout.";
                return(View("Failure", resp));
            }
            List <ProductViewModel> productsInCart = new List <ProductViewModel>();
            double?total = 0;

            foreach (var product in cart)
            {
                ProductViewModel productTemp = await productService.getProduct(product.ProductId);

                productTemp.Stock = product.Quantity;
                total            += productTemp.Price * productTemp.Stock;
                productsInCart.Add(productTemp);
            }

            if (productsInCart.Count > 0)
            {
                var Configuration = await service.GetShopConfig(productsInCart[0].ShopId);

                ViewBag.BgColor        = Configuration.BgColor;
                ViewBag.MenuColor      = Configuration.MenuColor;
                ViewBag.MenuTextColor  = Configuration.MenuTextColor;
                ViewBag.ProductsInCart = Session["cart"] != null ? ((List <CartProduct>)Session["cart"]).Count : 0;
                ViewBag.TotalPrice     = total;
                return(View(productsInCart));
            }
            return(null);
        }
Beispiel #11
0
        public async Task <ActionResult> ViewShopProduct(long id)
        {
            ShopProductViewModel model   = new ShopProductViewModel();
            ProductViewModel     product = await productService.getProduct(id);

            if (product == null)
            {
                HttpResponseModel resp = new HttpResponseModel();
                resp.ReasonMessage = "Product ID not present in database.";
                return(View("Failure", resp));
            }
            model.Id              = product.Id;
            model.Title           = product.Title;
            model.Description     = product.Description;
            model.DescriptionFull = product.DescriptionFull;
            model.Views           = product.Views;
            model.IsActive        = product.IsActive;
            model.CreatedAt       = product.CreatedAt;
            model.UpdatedAt       = product.UpdatedAt;
            model.ShopId          = product.ShopId;
            model.Stock           = product.Stock;
            model.Price           = product.Price;
            model.Image           = product.Image;
            model.Category        = product.Category;
            model.CategoryName    = product.CategoryName;
            model.Configuration   = await service.GetShopConfig(product.ShopId);

            ViewBag.ProductsInCart = Session["cart"] != null ? ((List <CartProduct>)Session["cart"]).Count : 0;
            return(View(model));
        }
Beispiel #12
0
        public static async Task <HttpResponseModel> BuildHttpResponseModel(int transactionId, DateTimeOffset sentAtUtc, DateTimeOffset completedAtUtc, bool saveInMemory, HttpResponseMessage respMsg)
        {
            var response = new HttpResponseModel
            {
                TransactionId  = transactionId,
                SentAtUtc      = sentAtUtc,
                CompletedAtUtc = completedAtUtc,
                StatusCode     = respMsg.StatusCode,
            };

            AddHeadersToResponseModel(response, respMsg.Headers);


            if (saveInMemory)
            {
                response.IsBodyInMemory = true;
                response.ResponseBytes  = await respMsg.Content.ReadAsByteArrayAsync();

                respMsg.Dispose();
            }
            else
            {
                //If we are not loading the response into memory, then set a reference to the underlying
                //http message -- note this does not dispose the connection :( it should be used carefully.
                response.IsBodyInMemory  = false;
                response.ResponseMessage = respMsg;
            }

            return(response);
        }
        public async Task <IActionResult> GetMessage(HttpResponseModel model)
        {
            if (model.IDMes == null)
            {
                var md = await _httpResponse.GetAllMessage();

                List <Messaggio> msglist = JsonConvert.DeserializeObject <List <Messaggio> >(md.Response);
                md.ListMessage = msglist;
                ModelState.Clear();
                return(View("Index", md));
            }
            else
            {
                var md = await _httpResponse.GetSingleMessage(model.IDMes);

                if ((int)md.Code != 200)
                {
                    ModelState.AddModelError("CustomErrorIDMes", "ID messaggio non esistente");
                    return(View("Index", md));
                }
                Messaggio        msglist = JsonConvert.DeserializeObject <Messaggio>(md.Response);
                List <Messaggio> f       = new List <Messaggio> {
                    msglist
                };
                md.ListMessage = f;
                ModelState.Clear();
                return(View("Index", md));
            }
        }
        public async Task <IActionResult> GetUser(HttpResponseModel model)
        {
            if (model.Email == null)
            {
                var md = await _httpResponse.GetAllUser();

                List <Utente> a = JsonConvert.DeserializeObject <List <Utente> >(md.Response);

                md.ListUser = a;
                ModelState.Clear();
                return(View("Index", md));
            }
            else
            {
                var md = await _httpResponse.GetSingleUser(model.Email);

                if (md.Code.ToString() != "OK")
                {
                    ModelState.AddModelError("CustomError", "Email non esistente");
                    return(View("Index", md));
                }
                Utente        a = JsonConvert.DeserializeObject <Utente>(md.Response);
                List <Utente> f = new List <Utente>()
                {
                    a
                };
                md.ListUser = f;
                ModelState.Clear();
                return(View("Index", md));
            }
        }
Beispiel #15
0
        public bool CancelOrder(string orderNumber)
        {
            string            url    = "https://api.bittrex.com/api/v1.1/market/cancel?apikey=" + _key + "&uuid=" + orderNumber + "&nonce=" + GetNonce();
            HttpResponseModel result = CallSignedApi(url);

            return(result.Successfull);
        }
Beispiel #16
0
        public IActionResult SaveEdit(PermissionEditViewModel model)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            using (this.DbContext)
            {
                if (this.DbContext.Permission.Count(x => x.ActionCode == model.ActionCode && x.Id != model.Code) > 0)
                {
                    response.SetFailed("权限操作码已存在");
                    return(this.Ok(response));
                }

                Permission entity = this.DbContext.Permission.FirstOrDefault(x => x.Id == model.Code);
                if (entity == null)
                {
                    response.SetFailed("权限不存在");
                    return(this.Ok(response));
                }

                entity.Name             = model.Name;
                entity.ActionCode       = model.ActionCode;
                entity.MenuId           = model.MenuId;
                entity.IsEnable         = model.IsEnable.Value;
                entity.UpdateByUserId   = 1;
                entity.UpdateByUserName = AuthenticationContextService.CurrentUser.DisplayName;
                entity.CreateTime       = DateTime.Now;
                entity.Status           = model.Status;
                entity.Description      = model.Description;
                this.DbContext.SaveChanges();
                response.SetSuccess();
                return(this.Ok(response));
            }
        }
Beispiel #17
0
        /// <summary>
        /// 恢复运行暂停的任务
        /// </summary>
        /// <param name="jobName">任务名称</param>
        /// <param name="jobGroup">任务分组</param>
        public async Task <HttpResponseModel> ResumeJobAsync(string jobGroup, string jobName)
        {
            HttpResponseModel result = new HttpResponseModel();

            try
            {
                //检查任务是否存在
                var jobKey = new JobKey(jobName, jobGroup);
                if (await Scheduler.CheckExists(jobKey))
                {
                    //任务已经存在则暂停任务
                    await Scheduler.ResumeJob(jobKey);

                    result.Message = "恢复任务计划成功!";
                    Log.Information(string.Format("任务“{0}”恢复运行", jobName));
                }
                else
                {
                    result.Message = "任务不存在";
                }
            }
            catch (Exception ex)
            {
                result.Message = "恢复任务计划失败!";
                result.Code    = HttpStatusCode.InternalServerError;
                Log.Error(string.Format("恢复任务失败!{0}", ex));
            }
            return(result);
        }
Beispiel #18
0
        public IActionResult PermissionTree(int code)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            using (this.DbContext)
            {
                Role role = this.DbContext.Role.FirstOrDefault(x => x.Id == code);
                if (role == null)
                {
                    response.SetFailed("角色不存在");
                    return(this.Ok(response));
                }

                List <PermissionMenuTree> menu = this.DbContext.Menu.Where(x => !x.IsEnable && x.Status).OrderBy(x => x.CreateTime).ThenBy(x => x.Sort)
                                                 .Select(x => new PermissionMenuTree
                {
                    Id       = x.Id,
                    ParentId = x.ParentId,
                    Title    = x.Name
                }).ToList();
                if (role.IsSuperAdministrator)
                {
                }

                // List<PermissionWithAssignProperty> permissionList = this.DbContext.PermissionWithAssignProperty.FromSql(sql, code).ToList();
                // List<PermissionMenuTree> tree = menu.FillRecursive(permissionList, Guid.Empty, role.IsSuperAdministrator);
                // response.SetData(new { tree, selectedPermissions = permissionList.Where(x => x.IsAssigned == 1).Select(x => x.Code) });
            }

            return(this.Ok(response));
        }
Beispiel #19
0
        public IActionResult Create(UserCreatePostModel model)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            if (model.LoginName.Length <= 0)
            {
                response.SetFailed(Resources.PleaseInputLoginName);
                return(this.Ok(response));
            }

            using (this.DbContext)
            {
                if (this.DbContext.User.Count(x => x.LoginName == model.LoginName) > 0)
                {
                    response.SetFailed(Resources.UserNameHasExist);
                    return(this.Ok(response));
                }

                User entity = model.MapTo(this.Mapper);
                this.DbContext.User.Add(entity);
                this.DbContext.SaveChanges();

                return(this.SubmitResponse(response));
            }
        }
Beispiel #20
0
        public IActionResult Create(PermissionCreateViewModel model)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            if (model.Name.Trim().Length <= 0)
            {
                response.SetFailed("请输入权限名称");
                return(this.Ok(response));
            }

            using (this.DbContext)
            {
                if (this.DbContext.Permission.Count(x => x.ActionCode == model.ActionCode && x.Id == model.Id.ToString()) > 0)
                {
                    response.SetFailed("权限操作码已存在");
                    return(this.Ok(response));
                }

                Permission entity = this.Mapper.Map <PermissionCreateViewModel, Permission>(model);
                entity.CreateTime       = DateTime.Now;
                entity.Id               = Guid.NewGuid().ToString("N");
                entity.CreateByUserId   = AuthenticationContextService.CurrentUser.Id;
                entity.CreateByUserName = AuthenticationContextService.CurrentUser.DisplayName;
                this.DbContext.Permission.Add(entity);
                this.DbContext.SaveChanges();

                response.SetSuccess();
                return(this.Ok(response));
            }
        }
Beispiel #21
0
        public IActionResult SaveEdit(IconCreateViewModel model)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            if (model.Code.Trim().Length <= 0)
            {
                response.SetFailed("请输入图标名称");
                return(this.Ok(response));
            }

            using (this.DbContext)
            {
                if (this.DbContext.Icon.Count(x => x.Code == model.Code && x.Id != model.Id) > 0)
                {
                    response.SetFailed("图标已存在");
                    return(this.Ok(response));
                }

                Icon entity = this.DbContext.Icon.FirstOrDefault(x => x.Id == model.Id);
                entity.Code             = model.Code;
                entity.Color            = model.Color;
                entity.Custom           = model.Custom;
                entity.Size             = model.Size;
                entity.IsEnable         = model.IsDeleted;
                entity.UpdateByUserId   = AuthenticationContextService.CurrentUser.Id;
                entity.UpdateByUserName = AuthenticationContextService.CurrentUser.DisplayName;
                entity.UpdateTime       = DateTime.Now;
                entity.Status           = model.Status.Value;
                entity.Description      = model.Description;
                this.DbContext.SaveChanges();
                response.SetSuccess();
                return(this.Ok(response));
            }
        }
        public async Task <HttpResponseModel> Billing_OverallTransaction_Set(TransBillingModel model)
        {
            var result = await _repo.DevHub_Billing_OverallTransaction_Set(model);

            var modelForReturn = new HttpResponseModel();

            switch (result)
            {
            case -1:
                modelForReturn.HttpStatusCode = _response.NotFound;
                modelForReturn.ResponseModel  = _response.ShowHttpResponse(_response.NotFound);
                modelForReturn.Remarks        = "time tracker not found.";
                break;

            case -2:
                modelForReturn.HttpStatusCode = _response.Conflict;
                modelForReturn.ResponseModel  = _response.ShowHttpResponse(_response.Conflict);
                modelForReturn.Remarks        = "amount paid is less than total bill";
                break;

            case 1:
                modelForReturn.HttpStatusCode = _response.Ok;
                modelForReturn.ResponseModel  = _response.ShowHttpResponse(_response.Ok);
                modelForReturn.Remarks        = "successfully billed out.";
                break;

            default:
                modelForReturn.HttpStatusCode = _response.BadRequest;
                modelForReturn.ResponseModel  = _response.ShowHttpResponse(_response.BadRequest);
                modelForReturn.Remarks        = "error processing request.";
                break;
            }

            return(modelForReturn);
        }
Beispiel #23
0
        public JsonResult Import(IconImportViewModel model)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            if (model.Icons.Trim().Length <= 0)
            {
                response.SetFailed("没有可用的图标");
                return(this.Json(response));
            }

            IEnumerable <Icon> models = model.Icons.Split(new[] { "\r\n", "\n" }, StringSplitOptions.RemoveEmptyEntries).Select(x => new Icon
            {
                Code             = x.Trim(),
                CreateTime       = DateTime.Now,
                CreateByUserName = "******"
            });

            using (this.DbContext)
            {
                this.DbContext.Icon.AddRange(models);
                this.DbContext.SaveChanges();
                response.SetSuccess();
                return(this.Json(response));
            }
        }
        public async Task <HttpResponseModel> Billing_TransMiscellaneous_Set(TransMiscellaneousForCreateUpdate model)
        {
            var result = await _repo.Billing_TransMiscellaneous_Set(model);

            var modelForReturn = new HttpResponseModel();

            switch (result)
            {
            case 1:
                modelForReturn.HttpStatusCode = _response.Created;
                modelForReturn.ResponseModel  = _response.ShowHttpResponse(_response.Created);
                modelForReturn.Remarks        = "successfully added.";
                break;

            case 2:
                modelForReturn.HttpStatusCode = _response.Updated;
                modelForReturn.ResponseModel  = _response.ShowHttpResponse(_response.Updated);
                modelForReturn.Remarks        = "successfully updated.";
                break;

            default:
                modelForReturn.HttpStatusCode = _response.BadRequest;
                modelForReturn.ResponseModel  = _response.ShowHttpResponse(_response.BadRequest);
                modelForReturn.Remarks        = "error processing request.";
                break;
            }

            return(modelForReturn);
        }
Beispiel #25
0
        public async Task <ActionResult> Edit(long Id)
        {
            if (IsUserLoggedIn())
            {
                var response = await service.GetOrder(Id);

                if (response == null)
                {
                    HttpResponseModel resp = new HttpResponseModel();
                    resp.ReasonMessage = "Order not found.";
                    return(View("Failure", resp));
                }
                IList <OrderStatus> statusOptions = new List <OrderStatus>();
                statusOptions.Add(new OrderStatus()
                {
                    Name = "Pending", Status = 0
                });
                statusOptions.Add(new OrderStatus()
                {
                    Name = "Completed", Status = 1
                });

                ViewBag.OrderStatusList = new SelectList(statusOptions, "Status", "Name");
                return(View("Edit", response));
            }
            else
            {
                return(Redirect("/login/index"));
            }
        }
    /// <inheritdoc />
    public async Task <StubModel> ConvertToStubAsync(OpenApiServer server, OpenApiLine line, string tenant)
    {
        var request = new HttpRequestModel
        {
            Body    = _openApiDataFiller.BuildRequestBody(line.Operation),
            Headers = _openApiDataFiller.BuildRequestHeaders(line.Operation),
            Method  = line.OperationType.ToString().ToUpper(),
            Url     = $"{_openApiDataFiller.BuildServerUrl(server)}{_openApiDataFiller.BuildRelativeRequestPath(line.Operation, line.PathKey)}"
        };
        var response = new HttpResponseModel
        {
            Content    = _openApiDataFiller.BuildResponseBody(line.Response),
            Headers    = _openApiDataFiller.BuildResponseHeaders(line.Response),
            StatusCode = _openApiDataFiller.BuildHttpStatusCode(line.ResponseKey)
        };
        var stub = new StubModel
        {
            Tenant      = tenant,
            Description = line.Operation.Summary,
            Conditions  = await _httpRequestToConditionsService.ConvertToConditionsAsync(request),
            Response    = await _httpResponseToStubResponseService.ConvertToResponseAsync(response),
        };

        stub.EnsureStubId();
        return(stub);
    }
Beispiel #27
0
        public async Task <ActionResult> Delete(ProductViewModel product)
        {
            var response = await productService.DeleteProduct(product);

            if (response.IsSuccessStatusCode)
            {
                List <category>       categories    = new List <category>();
                IList <CategoryModel> allCategories = await categoryService.GetAllCategories();

                foreach (var category in allCategories)
                {
                    category categoryToAdd = new category();
                    categoryToAdd.Id   = category.Id;
                    categoryToAdd.name = category.Title;
                    categories.Add(categoryToAdd);
                }

                ViewBag.CategoryList = new SelectList(categories, "ID", "Name");
                return(Redirect("/Product/Create"));
            }
            else
            {
                HttpResponseModel resp = new HttpResponseModel();
                resp.ReasonMessage = response.ReasonPhrase;
                return(View("Failure", resp));
            }
        }
Beispiel #28
0
        private HttpResponseModel CallSignedApi(string url)
        {
            string signature = SignRequest(url);

            ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
            HttpResponseModel response = new HttpResponseModel();

            using (var client = new HttpClient())
            {
                try
                {
                    if (!string.IsNullOrWhiteSpace(signature))
                    {
                        client.DefaultRequestHeaders.Clear();
                        client.DefaultRequestHeaders.Add("apisign", signature);
                    }
                    response.ResponseString = client.GetStringAsync(url).Result;
                    response.Successfull    = true;
                }
                catch
                {
                    response.Successfull    = false;
                    response.ResponseString = "error";
                }
                return(response);
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="GridConfiguration{T}"/> class.
 /// </summary>
 /// <param name="model">The model.</param>
 protected GridConfiguration(HttpResponseModel model)
 {
     this._entityList = (List <T>)model.Data;
     this.Count       = model.TotalCount;
     this.PageSize    = model.PageSize;
     this.CurrentPage = model.PageIndex;
 }
Beispiel #30
0
        public IActionResult FindListByUserGuid(Guid guid)
        {
            HttpResponseModel response = ResponseModelFactory.CreateInstance;

            using (this.DbContext)
            {
                // 有N+1次查询的性能问题
                // var query = this.DbContext.DncUser
                //    .Include(r => r.UserRoles)
                //    .ThenInclude(x => x.DncRole)
                //    .Where(x => x.Guid == guid);
                // var roles = query.FirstOrDefault().UserRoles.Select(x => new
                // {
                //    x.DncRole.Code,
                //    x.DncRole.Name
                // });
                string      sql           = @"SELECT R.* FROM DncUserRoleMapping AS URM
INNER JOIN DncRole AS R ON R.Code=URM.RoleCode
WHERE URM.UserGuid={0}";
                List <Role> query         = this.DbContext.Role.AsNoTracking().FromSqlRaw(sql, guid).ToList();
                List <int>  assignedRoles = query.ToList().Select(x => x.Id).ToList();
                var         roles         = this.DbContext.Role.AsNoTracking().Where(x => !x.IsEnable && x.IsForbidden).ToList().Select(x => new { label = x.Name, key = x.Id });
                response.SetData(new { roles, assignedRoles });
                return(this.Ok(response));
            }
        }