Beispiel #1
0
        public JsonResult Search(CrmQuestionSearchViewModel model)
        {
            Response response;
            int      dataCount;

            try
            {
                using (var db = new KiaGalleryContext())
                {
                    var query = db.CrmQuestion.Select(x => x);
                    dataCount = query.Count();
                    query     = query.OrderBy(x => x.Order).Skip(model.page * model.count).Take(model.count);
                    var list = query.Select(x => new
                    {
                        id                    = x.Id,
                        title                 = x.Title,
                        questionType          = x.CrmQuestionType,
                        buyType               = x.BuyType,
                        order                 = x.Order,
                        buyTypeSubset         = x.BuyTypeSubset,
                        BuyTypeOnline         = x.BuyTypeOnline,
                        defaultYesNo          = x.DefaultYesNo,
                        categoryQuestionTitle = x.CategoryQuestion.Title,
                        defaultDescriptive    = x.DefaultDescriptive,
                    }).ToList();
                    response = new Response()
                    {
                        status = 200,
                        data   = new
                        {
                            list = list.Select(x => new
                            {
                                id                    = x.id,
                                title                 = x.title,
                                defaultYesNo          = x.defaultYesNo,
                                categoryQuestionTitle = x.categoryQuestionTitle,
                                defaultDescriptive    = x.defaultDescriptive,
                                questionType          = Enums.GetTitle(x.questionType),
                                buyType               = Enums.GetTitle(x.buyType),
                                buyTypeSubset         = Enums.GetTitle(x.buyTypeSubset),
                                order                 = x.order,
                            }).ToList(),
                            pageCount = Math.Ceiling((double)dataCount / model.count),
                            count     = dataCount,
                            page      = model.page + 1
                        }
                    };
                }
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public JsonResult SearchCustomer(CrmQuestionSearchViewModel model)
        {
            var      currentUser = GetAuthenticatedUser();
            Response response;
            int      dataCount;

            try
            {
                using (var db = new KiaGalleryContext())
                {
                    var query = db.CrmCustomer.Where(x => x.BuyTypeSubset == model.buyTypeSubset && x.BuyTypeOnline == model.buyTypeOnline);
                    if (User.IsInRole("branchCrm"))
                    {
                        query = query.Where(x => x.BuyType == BuyType.BuyAttendance);
                    }

                    if (User.IsInRole("officeCrm"))
                    {
                        query = query.Where(x => x.BuyType == BuyType.BuyOnline);
                    }

                    if (User.IsInRole("admin") && model.branchId > 0 && model.branchId != null)
                    {
                        query = query.Where(x => x.BranchId == model.branchId);
                    }

                    if (!User.IsInRole("admin"))
                    {
                        query = query.Where(x => x.BranchId == currentUser.BranchId);
                    }


                    dataCount = query.Count();
                    query     = query.OrderByDescending(x => x.Id).Skip(model.page * model.count).Take(model.count);
                    var list = query.Select(x => new
                    {
                        id           = x.Id,
                        fullName     = x.FullName,
                        phoneNumber  = x.PhoneNumber,
                        factorNumber = x.FactorNumber,
                        branchId     = x.BranchId,
                        branchName   = x.Branch.Name,
                        score        = x.Score,
                        date         = x.Date,
                    }).ToList();
                    response = new Response()
                    {
                        status = 200,
                        data   = new
                        {
                            list = list.Select(x => new
                            {
                                id           = x.id,
                                fullName     = x.fullName,
                                phoneNumber  = x.phoneNumber,
                                factorNumber = x.factorNumber,
                                branchId     = x.branchId,
                                branchName   = x.branchName,
                                score        = x.score,
                                date         = DateUtility.GetPersianDate(x.date),
                            }).ToList(),
                            pageCount = Math.Ceiling((double)dataCount / model.count),
                            count     = dataCount,
                            page      = model.page + 1
                        }
                    };
                }
            }
            catch (Exception ex)
            {
                response = Core.GetExceptionResponse(ex);
            }
            return(Json(response, JsonRequestBehavior.AllowGet));
        }