예제 #1
0
        private void SendRequestCompletedToSupplier(Request request)
        {
            if (request.SupplierId.HasValue == false)
            {
                return;
            }

            var vendorUrl       = _configuration.GetValue <string>("VendorWebsite:BaseUrl");
            var requestEditPath = string.Format(_configuration.GetValue <string>("VendorWebsite:RequestEdit"), request.Id);
            var subject         = $"Vandivier Product Request Complete: {request.RequestDescription}";
            var users           = _dbReadService.GetAllRecordsAsync <Entity.Models.User>(x => x.SupplierId == request.SupplierId.Value).Result;

            foreach (var user in users)
            {
                var body = $"Request {request.RequestDescription} has been completed! <br /><br />" +
                           $"View the request <a href='{vendorUrl}{requestEditPath}'>here</a> <br /><br />" +
                           $"Thanks, <br /> Vandivier Management";

                if (user.EmailAddress != null)
                {
                    Helper.Send(_configuration, subject, body, new List <string>()
                    {
                        user.EmailAddress
                    });
                }
            }
        }
예제 #2
0
        public async Task <IActionResult> Index()
        {
            _dbReadService.IncludeEntityNavigation <Category>();

            _dbReadService.IncludeEntityNavigation <Product, ContainerSizeType>();
            _dbReadService.IncludeEntityNavigation <Product, ContainerType>();
            var products = await _dbReadService.GetAllRecordsAsync <Product>();

            products.Reverse();

            return(View(products));
        }
        public async Task <IActionResult> Index(int?id)
        {
            ViewData["ProductId"] = id;
            _dbReadService.IncludeEntityNavigation <Supplier>();
            _dbReadService.IncludeEntityNavigation <Product>();

            var product = await _dbReadService.GetSingleRecordAsync <Product>(s => s.Id.Equals(id));

            ViewData["ProductName"] = product.ProductName;

            var packages = await _dbReadService.GetAllRecordsAsync <ProductPackageType>(s => s.ProductId.Equals(id));

            packages.Reverse();
            return(View(packages));
        }
예제 #4
0
        public async Task <IActionResult> Index(string search)
        {
            if (search != null)
            {
                Regex rgx = new Regex("[^a-zA-Z0-9 -]");
                search = rgx.Replace(search, "").ToUpper();
            }

            ViewData["FilterParam"] = search;

            UserDto.UserId = User.Identity.Name;

            _dbReadService.IncludeEntityNavigation <Product>();
            _dbReadService.IncludeEntityNavigation <Store>();
            _dbReadService.IncludeEntityNavigation <RequestType>();
            _dbReadService.IncludeEntityNavigation <StatusType>();
            _dbReadService.IncludeEntityNavigation <Supplier>();

            var requests = await _dbReadService.GetAllRecordsAsync <Request>();

            requests.Reverse();

            var requestsEnumerable = requests.AsEnumerable();

            if (!String.IsNullOrEmpty(search))
            {
                requestsEnumerable = requests.Where(s => s.RequestDescription != null && s.RequestDescription.ToUpper().Contains(search)

                                                    || s.StatusType.StatusTypeName != null && s.StatusType.StatusTypeName.ToUpper().Contains(search)

                                                    || s.RequestType.RequestTypeName != null && s.RequestType.RequestTypeName.ToUpper().Contains(search)

                                                    || s.Store.StoreName != null && s.Store.StoreName.ToUpper().Contains(search)

                                                    || s.ProductId != null && s.Product.ProductName.ToUpper().Contains(search)

                                                    || s.Id.ToString().StartsWith(search)

                                                    || s.Id.ToString().Contains(search)

                                                    || s.CreatedBy != null && s.CreatedBy.ToUpper().Contains(search));
            }

            RequestDto.RequestId          = null;
            RequestDto.RequestDescription = null;

            return(View(requestsEnumerable.ToList()));
        }
예제 #5
0
        public async Task <IActionResult> Index()
        {
            RequestDto.RequestDescription = string.Empty;
            var suppliers = await _dbReadService.GetAllRecordsAsync <Supplier>();

            return(View(suppliers.OrderBy(s => s.SupplierName)));
        }
        public async Task <IActionResult> Index(int?id)
        {
            ViewData["PackageTypeId"] = id;

            var package = await _dbReadService.GetSingleRecordAsync <ProductPackageType>(s => s.Id.Equals(id));

            ViewData["PackageName"] = package.AlternateProductName;
            ViewData["AltUpcCode"]  = package.AlternateProductUpccode;
            if (package.AlternateProductPrice != null)
            {
                ViewData["PackagePrice"] = Math.Round((decimal)package.AlternateProductPrice, 2);
            }

            var product = await _dbReadService.GetSingleRecordAsync <Product>(p => p.Id.Equals(package.ProductId));

            ViewData["ProductName"] = product.ProductName;
            if (product.ProductPrice != null)
            {
                ViewData["ProductPrice"] = Math.Round((decimal)product.ProductPrice, 2);
            }

            _dbReadService.IncludeEntityNavigation <ProductStoreSpecific, Store>();
            var productStoreSpecific = await _dbReadService.GetAllRecordsAsync <ProductStoreSpecific>(s => s.PackageTypeId.Equals(id));

            productStoreSpecific.Reverse();

            return(View(productStoreSpecific));
        }
예제 #7
0
        public async Task <IActionResult> Index()
        {
            RequestDto.RequestDescription = string.Empty;
            var containerSizeTypes = await _dbReadService.GetAllRecordsAsync <ContainerSizeType>();

            return(View(containerSizeTypes.OrderBy(s => s.ContainerSizeTypeName)));
        }
예제 #8
0
        public async Task <IActionResult> Index(int?id)
        {
            _dbReadService.IncludeEntityNavigation <Request>();
            List <Note> notes = null;

            if (id > 0 || id != null)
            {
                notes = await _dbReadService.GetAllRecordsAsync <Note>(s => s.RequestId.Equals(id));
            }
            else
            {
                notes = await _dbReadService.GetAllRecordsAsync <Note>();
            }

            notes.Reverse();
            return(View(notes));
        }
예제 #9
0
        public async Task <IActionResult> Index()
        {
            RequestDto.RequestDescription = string.Empty;

            _dbReadService.IncludeEntityNavigation <Supplier>();
            var users = await _dbReadService.GetAllRecordsAsync <User>();

            return(View(users.OrderBy(s => s.LastName)));
        }
예제 #10
0
        public async Task <IActionResult> Index(string search, bool showFamilyNotes)
        {
            if (!_signInManager.IsSignedIn(User))
            {
                return(RedirectToPage("/Account/Login", new { Area = "Identity" }));
            }

            if (search != null)
            {
                Regex rgx = new Regex("[^a-zA-Z0-9 -]");
                search = rgx.Replace(search, "").ToUpper();
            }

            ViewData["FilterParam"] = search;

            List <Note> notes = new List <Note>();

            if (showFamilyNotes)
            {
                notes = await _dbRead.GetAllRecordsAsync <Note>(n => !n.ShareToFam.Equals(null) && n.ShareToFam.Equals(true) && n.UserProfile.FamilyId == UserData.FamilyId);
            }
            else
            {
                notes = await _dbRead.GetAllRecordsAsync <Note>(n => n.UserProfileId == UserData.UserProfileId);
            }

            var notesEnumerable = notes.AsEnumerable();

            if (!String.IsNullOrEmpty(search))
            {
                notesEnumerable = notes.Where(s => s.Text != null && s.Text.ToUpper().Contains(search)

                                              || s.Title != null && s.Title.ToUpper().Contains(search));
            }

            return(View(notesEnumerable.ToList().OrderByDescending(n => n.Id)));
        }
예제 #11
0
        public async Task <IActionResult> Index(int?Id)
        {
            if (Id != null)
            {
                noteId = (int)Id;
            }

            _dbRead.IncludeEntityNavigation <Note>();
            var noteList = await _dbRead.GetAllRecordsAsync <NoteListItem>(n => n.NoteId.Equals(Id));

            var originalNote = await _dbRead.GetSingleRecordAsync <Note>(n => n.Id.Equals(Id));

            ViewData["NoteTitle"] = !string.IsNullOrEmpty(originalNote.Title);
            ViewData["NoteText"]  = !string.IsNullOrEmpty(originalNote.Text);
            ViewData["NoteId"]    = originalNote.Id;
            return(View(noteList));
        }
예제 #12
0
        public async Task <IActionResult> Details(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            var family = await _dbRead.GetSingleRecordAsync <Family>(f => f.Id.Equals(id));

            if (family == null)
            {
                return(NotFound());
            }

            UserData.FamilyMembers = await _dbRead.GetAllRecordsAsync <UserProfile>(m => !m.FamilyId.Equals(null) && m.FamilyId.Equals(UserData.FamilyId));

            UserData.FamName = family.FamilyLastName;

            return(View(family));
        }
예제 #13
0
        public async Task <IActionResult> Index(string sort, string search)
        {
            if (search != null)
            {
                Regex rgx = new Regex("[^a-zA-Z0-9 -]");
                search = rgx.Replace(search, "").ToUpper();
            }


            // Intercept sort data
            ViewData["RequestIdParam"]          = sort == "RequestId" ? "requestId_desc" : "RequestId";
            ViewData["RequestDescriptionParam"] = sort == "RequestDescription" ? "requestDescription_desc" : "RequestDescription";
            ViewData["StoreNameParam"]          = sort == "StoreName" ? "store_desc" : "StoreName";
            ViewData["StatusTypeParam"]         = sort == "StatusTypeName" ? "statusTypeName_desc" : "StatusTypeName";
            ViewData["RequestTypeParam"]        = sort == "RequestTypeParam" ? "requestType_desc" : "RequestTypeParam";
            ViewData["ProductNameParam"]        = sort == "ProductNameParam" ? "productName_desc" : "ProductNameParam";
            ViewData["SupplierNameParam"]       = sort == "SupplierNameParam" ? "supplierName_desc" : "SupplierNameParam";
            ViewData["RequestDateParam"]        = sort == "RequestDateParam" ? "requestDate_desc" : "RequestDateParam";
            ViewData["RequesterNameParam"]      = sort == "RequesterNameParam" ? "requesterName_desc" : "RequesterNameParam";
            ViewData["CreatedOnParam"]          = sort == "CreatedOnParam" ? "createdOn_desc" : "CreatedOnParam";
            ViewData["CreatedByParam"]          = sort == "CreatedByParam" ? "createdBy_desc" : "CreatedByParam";

            // Intercept search term
            ViewData["FilterParam"] = search;


            _dbReadService.IncludeEntityNavigation <Product>();
            _dbReadService.IncludeEntityNavigation <Store>();
            _dbReadService.IncludeEntityNavigation <RequestType>();
            _dbReadService.IncludeEntityNavigation <StatusType>();
            _dbReadService.IncludeEntityNavigation <Supplier>();

            var requests = await _dbReadService.GetAllRecordsAsync <Request>();

            requests.Reverse();

            var requestEnumerable = requests.AsEnumerable();

            // Execute the search term filter
            if (!String.IsNullOrEmpty(search))
            {
                requestEnumerable = requests.Where(s =>
                                                   s.RequestDescription != null && s.RequestDescription.ToUpper().Contains(search)

                                                   || s.StatusType.StatusTypeName != null && s.StatusType.StatusTypeName.ToUpper().Contains(search)

                                                   || s.RequestType.RequestTypeName != null && s.RequestType.RequestTypeName.ToUpper().Contains(search)

                                                   || s.Store.StoreName != null && s.Store.StoreName.ToUpper().Contains(search)

                                                   || s.Product.ProductName != null && s.Product.ProductName.ToUpper().Contains(search)

                                                   || s.Supplier.SupplierName != null && s.Supplier.SupplierName.ToUpper().Contains(search)

                                                   || s.Id.ToString().StartsWith(search)

                                                   || s.UserId != null && s.UserId.ToUpper().Contains(search));
            }


            switch (sort)
            {
            case "requestId_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.OrderByDescending(s => s.Id.ToString()));
                }
                break;

            case "RequestId":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.OrderBy(s => s.Id.ToString()));
                }
                break;

            case "requestDescription_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.RequestDescription != null).OrderByDescending(s => s.RequestDescription.ToString()));
                }
                break;

            case "RequestDescription":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.RequestDescription != null).OrderBy(s => s.RequestDescription.ToString()));
                }
                break;

            case "store_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.Store.StoreName != null).OrderByDescending(s => s.Store.StoreName.ToString()));
                }
                break;

            case "StoreName":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.Store.StoreName != null).OrderBy(s => s.Store.StoreName.ToString()));
                }
                break;

            case "statusTypeName_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.StatusType.StatusTypeName != null).OrderByDescending(s => s.StatusType.StatusTypeName.ToString()));
                }
                break;

            case "StatusTypeName":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.StatusType.StatusTypeName != null).OrderBy(s => s.StatusType.StatusTypeName.ToString()));
                }
                break;

            case "requestType_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.RequestType.RequestTypeName != null).OrderByDescending(s => s.RequestType.RequestTypeName.ToString()));
                }
                break;

            case "RequestTypeParam":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.RequestType.RequestTypeName != null).OrderBy(s => s.RequestType.RequestTypeName.ToString()));
                }
                break;

            case "productName_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.Product.ProductName != null).OrderByDescending(s => s.Product.ProductName.ToString()));
                }
                break;

            case "ProductNameParam":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.Product.ProductName != null).OrderBy(s => s.Product.ProductName.ToString()));
                }
                break;

            case "supplierName_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.Supplier.SupplierName != null).OrderByDescending(s => s.Supplier.ToString()));
                }
                break;

            case "SupplierNameParam":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.Supplier != null).OrderBy(s => s.Supplier.ToString()));
                }
                break;

            case "requestDate_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.CreatedOn != null).OrderByDescending(s => s.CreatedOn.ToString()));
                }
                break;

            case "RequestDateParam":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.CreatedOn != null).OrderBy(s => s.CreatedOn.ToString()));
                }
                break;

            case "requesterName_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.CreatedBy != null).OrderByDescending(s => s.CreatedBy.ToString()));
                }
                break;

            case "RequesterNameParam":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.CreatedBy != null).OrderBy(s => s.CreatedBy.ToString()));
                }
                break;

            case "createdOn_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.CreatedOn != null).OrderByDescending(s => s.CreatedOn.ToString()));
                }
                break;

            case "CreatedOnParam":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.CreatedOn != null).OrderBy(s => s.CreatedOn.ToString()));
                }
                break;

            case "createdBy_desc":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.CreatedBy != null).OrderByDescending(s => s.CreatedBy.ToString()));
                }
                break;

            case "CreatedByParam":
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.Where(s => s.CreatedBy != null).OrderBy(s => s.CreatedBy.ToString()));
                }
                break;

            default:
                if (requestEnumerable != null)
                {
                    requestEnumerable =
                        new List <Request>(requestEnumerable.OrderByDescending(s => s.CreatedOn));
                }
                break;
            }

            return(View(requestEnumerable));
        }
        public async Task <IActionResult> Index(string sort, string search)
        {
            RequestDto.RequestDescription = string.Empty;

            if (search != null)
            {
                Regex rgx = new Regex("[^a-zA-Z0-9 -]");
                search = rgx.Replace(search, "").ToUpper();
            }


            // Intercept sort data
            ViewData["RequestIdParam"]          = sort == "RequestId" ? "requestId_desc" : "RequestId";
            ViewData["RequestDescriptionParam"] = sort == "RequestDescription" ? "requestDescription_desc" : "RequestDescription";
            ViewData["ChangeNoteParam"]         = sort == "ChangeNote" ? "changeNote_desc" : "ChangeNote";
            ViewData["StoreNameParam"]          = sort == "StoreName" ? "store_desc" : "StoreName";
            ViewData["StatusTypeParam"]         = sort == "StatusTypeName" ? "statusTypeName_desc" : "StatusTypeName";
            ViewData["RequestTypeParam"]        = sort == "RequestTypeParam" ? "requestType_desc" : "RequestTypeParam";
            ViewData["ProductNameParam"]        = sort == "ProductNameParam" ? "productName_desc" : "ProductNameParam";
            ViewData["SupplierNameParam"]       = sort == "SupplierNameParam" ? "supplierName_desc" : "SupplierNameParam";
            ViewData["RequestDateParam"]        = sort == "RequestDateParam" ? "requestDate_desc" : "RequestDateParam";
            ViewData["RequesterNameParam"]      = sort == "RequesterNameParam" ? "requesterName_desc" : "RequesterNameParam";
            ViewData["CreatedOnParam"]          = sort == "CreatedOnParam" ? "createdOn_desc" : "CreatedOnParam";
            ViewData["CreatedByParam"]          = sort == "CreatedByParam" ? "createdBy_desc" : "CreatedByParam";
            ViewData["RequestLogIdParam"]       = sort == "RequestLogIdParam" ? "requestLogId_Desc" : "RequestLogIdParam";

            // Intercept search term
            ViewData["FilterParam"] = search;

            // Map log data to view model with readable names
            IEnumerable <RequestLog> logs = await _dbReadService.GetAllRecordsAsync <RequestLog>();

            List <RequestLogFull> requestLogFullList = new List <RequestLogFull>();

            foreach (var item in logs)
            {
                RequestLogFull requestLogFull = null;
                requestLogFull = new RequestLogFull();

                requestLogFull.RequestId             = item.RequestId;
                requestLogFull.ProductId             = item.ProductId;
                requestLogFull.ChangeNote            = item.ChangeNote;
                requestLogFull.RequestDescription    = item.RequestDescription;
                requestLogFull.RequestTypeId         = item.RequestTypeId;
                requestLogFull.StatusTypeId          = item.StatusTypeId;
                requestLogFull.StoreId               = item.StoreId;
                requestLogFull.SupplierId            = item.SupplierId;
                requestLogFull.UserId                = item.UserId;
                requestLogFull.OriginalCreatedOnDate = item.OriginalCreatedOnDate;
                requestLogFull.OriginalCreatedByUser = item.OriginalCreatedByUser;
                requestLogFull.CreatedOn             = item.CreatedOn;
                requestLogFull.CreatedBy             = item.CreatedBy;
                requestLogFull.Id = item.Id;

                var tempProduct = await _dbReadService.GetSingleRecordAsync <Product>(p => item.ProductId != null && p.Id.Equals(item.ProductId));

                if (tempProduct?.ProductName != null)
                {
                    requestLogFull.ProductName = tempProduct.ProductName;
                }

                var tempSupplier = await _dbReadService.GetSingleRecordAsync <Supplier>(p => item.SupplierId != null && p.Id.Equals(item.SupplierId));

                if (tempSupplier?.SupplierName != null)
                {
                    requestLogFull.SupplierName = tempSupplier.SupplierName;
                }

                var tempStore = await _dbReadService.GetSingleRecordAsync <Store>(p => item.StoreId != null && p.Id.Equals(item.StoreId));

                if (tempStore?.StoreName != null)
                {
                    requestLogFull.StoreName = tempStore.StoreName;
                }

                var tempStatus = await _dbReadService.GetSingleRecordAsync <StatusType>(p => item.StatusTypeId != null && p.Id.Equals(item.StatusTypeId));

                if (tempStatus?.StatusTypeName != null)
                {
                    requestLogFull.StatusTypeName = tempStatus.StatusTypeName;
                }

                var tempRequestType = await _dbReadService.GetSingleRecordAsync <RequestType>(p => p.Id.Equals(item.RequestTypeId));

                if (tempRequestType?.RequestTypeName != null)
                {
                    requestLogFull.RequestTypeName = tempRequestType.RequestTypeName;
                }

                requestLogFullList.Add(requestLogFull);
            }

            var requestFullEnumerable = requestLogFullList.AsEnumerable();

            // Execute the search term filter
            if (!String.IsNullOrEmpty(search))
            {
                requestFullEnumerable = requestLogFullList.Where(s => s.RequestDescription != null && s.RequestDescription.ToUpper().Contains(search) ||
                                                                 s.ChangeNote != null && s.ChangeNote.ToUpper().Contains(search)

                                                                 || s.StatusTypeName != null && s.StatusTypeName.ToUpper().Contains(search)

                                                                 || s.RequestTypeName != null && s.RequestTypeName.ToUpper().Contains(search)

                                                                 || s.SupplierName != null && s.SupplierName.ToUpper().Contains(search)

                                                                 || s.StoreName != null && s.StoreName.ToUpper().Contains(search)

                                                                 || s.ProductName != null && s.ProductName.ToUpper().Contains(search)

                                                                 || s.UserId != null && s.UserId.ToUpper().Contains(search)

                                                                 || s.RequestId != null && s.RequestId.ToString().Contains(search)

                                                                 || s.CreatedBy != null && s.CreatedBy.ToUpper().Contains(search)

                                                                 || s.OriginalCreatedByUser != null && s.OriginalCreatedByUser.ToUpper().Contains(search).Equals(null)

                                                                 || s.StatusTypeName != null && s.StatusTypeName.ToUpper().Contains(search));
            }

            // Execute sorting columns
            switch (sort)
            {
            case "requestId_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.RequestId != null).OrderByDescending(s => s.RequestId.ToString()));
                }
                break;

            case "RequestId":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.RequestId != null).OrderBy(s => s.RequestId.ToString()));
                }
                break;

            case "requestDescription_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.RequestDescription != null).OrderByDescending(s => s.RequestDescription.ToString()));
                }
                break;

            case "RequestDescription":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.RequestDescription != null).OrderBy(s => s.RequestDescription.ToString()));
                }
                break;

            case "changeNote_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.ChangeNote != null).OrderByDescending(s => s.ChangeNote.ToString()));
                }
                break;

            case "ChangeNote":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.ChangeNote != null).OrderBy(s => s.ChangeNote.ToString()));
                }
                break;

            case "store_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.StoreName != null).OrderByDescending(s => s.StoreName.ToString()));
                }
                break;

            case "StoreName":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.StoreName != null).OrderBy(s => s.StoreName.ToString()));
                }
                break;

            case "statusTypeName_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.StatusTypeName != null).OrderByDescending(s => s.StatusTypeName.ToString()));
                }
                break;

            case "StatusTypeName":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.StatusTypeName != null).OrderBy(s => s.StatusTypeName.ToString()));
                }
                break;

            case "requestType_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.RequestTypeName != null).OrderByDescending(s => s.RequestTypeName.ToString()));
                }
                break;

            case "RequestTypeParam":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.RequestTypeName != null).OrderBy(s => s.RequestTypeName.ToString()));
                }
                break;

            case "productName_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.ProductName != null).OrderByDescending(s => s.ProductName.ToString()));
                }
                break;

            case "ProductNameParam":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.ProductName != null).OrderBy(s => s.ProductName.ToString()));
                }
                break;

            case "supplierName_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.SupplierName != null).OrderByDescending(s => s.SupplierName.ToString()));
                }
                break;

            case "SupplierNameParam":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.SupplierName != null).OrderBy(s => s.SupplierName.ToString()));
                }
                break;

            case "requestDate_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.OriginalCreatedOnDate != null).OrderByDescending(s => s.OriginalCreatedOnDate.ToString()));
                }
                break;

            case "RequestDateParam":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.OriginalCreatedOnDate != null).OrderBy(s => s.OriginalCreatedOnDate.ToString()));
                }
                break;

            case "requesterName_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.OriginalCreatedByUser != null).OrderByDescending(s => s.OriginalCreatedByUser.ToString()));
                }
                break;

            case "RequesterNameParam":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.OriginalCreatedByUser != null).OrderBy(s => s.OriginalCreatedByUser.ToString()));
                }
                break;

            case "createdOn_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.CreatedOn != null).OrderByDescending(s => s.CreatedOn.ToString()));
                }
                break;

            case "CreatedOnParam":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.CreatedOn != null).OrderBy(s => s.CreatedOn.ToString()));
                }
                break;

            case "createdBy_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.CreatedBy != null).OrderByDescending(s => s.CreatedBy.ToString()));
                }
                break;

            case "CreatedByParam":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.CreatedBy != null).OrderBy(s => s.CreatedBy.ToString()));
                }
                break;

            case "requestLogId_desc":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.RequestId != null).OrderByDescending(s => s.Id.ToString()));
                }
                break;

            case "RequestLogIdParam":
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.RequestId != null).OrderBy(s => int.Parse(s.Id.ToString())));
                }
                break;

            default:
                if (requestFullEnumerable != null)
                {
                    requestFullEnumerable =
                        new List <RequestLogFull>(requestFullEnumerable.Where(s => s.CreatedOn != null).OrderByDescending(s => s.CreatedOn.ToString()));
                }
                break;
            }

            return(View(requestFullEnumerable.ToList()));
        }
예제 #15
0
        public async Task <IActionResult> Index(string search)
        {
            _dbReadService.IncludeEntityNavigation <Product>();
            _dbReadService.IncludeEntityNavigation <Store>();
            _dbReadService.IncludeEntityNavigation <RequestType>();
            _dbReadService.IncludeEntityNavigation <StatusType>();
            _dbReadService.IncludeEntityNavigation <Supplier>();

            if (search != null)
            {
                Regex rgx = new Regex("[^a-zA-Z0-9 -]");
                search = rgx.Replace(search, "").ToUpper();
            }



            ViewData["FilterParam"] = search;

            // Restrict by SupplierId
            var b2CUserAuthId = User.FindFirst(ClaimTypes.NameIdentifier).Value;
            var userToEnsure  = await _dbReadService.GetSingleRecordAsync <User>(s => s.AuthId.Equals(b2CUserAuthId));

            UserDto.UserId = userToEnsure.EmailAddress;

            List <Request> requests = new List <Request>();

            if (userToEnsure != null)
            {
                RequestDto.SupplierId = userToEnsure.SupplierId;
            }

            if (RequestDto.SupplierId != 0)
            {
                ViewData["SupplierData"] = RequestDto.SupplierId;
                requests = await _dbReadService.GetAllRecordsAsync <Request>(s => s.SupplierId.Equals(RequestDto.SupplierId));

                requests.Reverse();
            }
            else
            {
                TempData["notifyUser"]   = "******";
                ViewData["SupplierData"] = null;
            }

            RequestDto.RequestId          = null;
            RequestDto.RequestDescription = null;

            var requestsEnumerable = requests.AsEnumerable();

            if (!String.IsNullOrEmpty(search))
            {
                requestsEnumerable = requests.Where(s => s.RequestDescription != null && s.RequestDescription.ToUpper().Contains(search)

                                                    || s.StatusType.StatusTypeName != null && s.StatusType.StatusTypeName.ToUpper().Contains(search)

                                                    || s.RequestType.RequestTypeName != null && s.RequestType.RequestTypeName.ToUpper().Contains(search)

                                                    || s.Store.StoreName != null && s.Store.StoreName.ToUpper().Contains(search)

                                                    || s.ProductId != null && s.Product.ProductName.ToUpper().Contains(search)

                                                    || s.Id.ToString().StartsWith(search)

                                                    || s.Id.ToString().Contains(search)

                                                    || s.CreatedBy != null && s.CreatedBy.ToUpper().Contains(search));
            }

            return(View(requestsEnumerable.ToList()));
        }