Esempio n. 1
0
        public ActionResult GetWorkList(MobileWorkListSearchCriteria criteria)
        {
            var data     = new MobileResponseModel();
            int pageSize = AppSettingHelper.PageSize;

            try
            {
                if (!string.IsNullOrWhiteSpace(criteria.Keyword))
                {
                    criteria.Keyword = criteria.Keyword.Trim();
                }

                var items = GenericFactory.Business.GetDocumentsListBySearch(criteria.SearchBy, criteria.Keyword, criteria.UserId)
                            .OrderByDescending(i => i.CreatedDate)
                            .ToList();
                var allowedStatus = new List <int>();
                allowedStatus.Add((int)WorkflowStatus.Draft);
                allowedStatus.Add((int)WorkflowStatus.RequestForMoreInfoForSale);
                var documents  = items.Where(i => allowedStatus.Contains(i.DocumentStatusId.Value)).ToList();
                int totalCount = documents.Count;
                var result     = new List <DocumentListItemViewModel>();
                //random number
                Random rnd = new Random();
                foreach (var d in documents)
                {
                    var documentStatus    = (WorkflowStatus)d.DocumentStatusId;
                    var statusName        = documentStatus.ToWorkFlowStatusName();
                    var biddingStatus     = (d.BiddingStatusId.HasValue) ? (BiddingStatus)d.BiddingStatusId : BiddingStatus.undefined;
                    var biddingStatusName = biddingStatus.ToBiddingStatusName();
                    var numberOfComments  = rnd.Next(1, 5);
                    var document          = new DocumentListItemViewModel
                    {
                        Id                 = d.Id.ToString(),
                        CustomerType       = d.Customer.CustomerType.CustomerTypeName,
                        CustomerName       = d.Customer.Name,
                        DocumentCode       = d.FileNumber,
                        SaleUserName       = d.AspNetUser.DisplayName,
                        WorkflowStatus     = (int)d.DocumentStatusId,
                        WorkflowStatusName = statusName,
                        BiddingStatus      = (d.BiddingStatusId.HasValue) ? (int)d.BiddingStatusId : 0,
                        BiddingStatusName  = biddingStatusName,
                        IssueDate          = d.CreatedDate.Value.ToString("dd/MM/yyyy"),
                        ExpiryDate         = d.ExpiryDate.HasValue ? d.ExpiryDate.Value.ToString("dd/MM/yyyy") : "",
                        NumberOfComments   = numberOfComments
                    };
                    result.Add(document);
                }
                data.Datas = result;
            }
            catch (Exception ex)
            {
                data.Status       = false;
                data.ErrorCode    = "001";
                data.ErrorMessage = ex.Message;
                data.MessageId    = "";
                data.TimeStamp    = "";
            }
            return(new JsonCamelCaseResult(data, JsonRequestBehavior.AllowGet));
        }
Esempio n. 2
0
        public ActionResult Search(DocumentSearchCriteria criteria, string sortBy, string direction, int?page)
        {
            int pageSize  = AppSettingHelper.PageSize;
            var documents = GenericFactory.Business.GetDocumentsListBySearch(criteria)
                            .OrderByDescending(i => i.CreatedDate)
                            .ToList();
            int totalCount = documents.Count;
            var result     = new List <DocumentListItemViewModel>();

            foreach (var d in documents)
            {
                var documentStatus    = (WorkflowStatus)d.DocumentStatusId;
                var statusName        = documentStatus.ToWorkFlowStatusName();
                var biddingStatus     = (d.BiddingStatusId.HasValue) ? (BiddingStatus)d.BiddingStatusId : BiddingStatus.undefined;
                var biddingStatusName = biddingStatus.ToBiddingStatusName();
                var document          = new DocumentListItemViewModel
                {
                    Id                 = d.Id.ToString(),
                    CustomerType       = d.Customer.CustomerType.CustomerTypeName,
                    CustomerName       = d.Customer.Name,
                    DocumentCode       = d.FileNumber,
                    SaleUserName       = d.AspNetUser.DisplayName,
                    WorkflowStatus     = (int)d.DocumentStatusId,
                    WorkflowStatusName = statusName,
                    BiddingStatus      = (d.BiddingStatusId.HasValue) ? (int)d.BiddingStatusId : 0,
                    BiddingStatusName  = biddingStatusName,
                    WeightPoint        = d.WeightPoint ?? 0
                };
                result.Add(document);
            }


            RouteValueDictionary routeValues = new RouteValueDictionary();

            routeValues.Add("sortBy", sortBy ?? "");
            routeValues.Add("direction", direction);
            var list = new PaginatedList <DocumentListItemViewModel>(
                result.OrderByDescending(d => d.WeightPoint).ThenByDescending(o => o.WorkflowStatus).ToList(),
                page ?? 0,
                pageSize,
                totalCount,
                true,
                routeValues);
            var viewModel = new ListViewModel <DocumentListItemViewModel>()
            {
                Direction = direction,
                SortBy    = sortBy,
                Data      = list
            };

            return(new JsonCamelCaseResult(viewModel, JsonRequestBehavior.AllowGet));
        }