public ActionResult ShippingList(String sortDirection)
        {
            PackageListViewModel model = new PackageListViewModel();

            List <Package> packages = PackageDataAccess.GetPackageList();

            if (string.IsNullOrEmpty(sortDirection) == false)
            {
                if (sortDirection == "asc")
                {
                    packages.Sort();
                }
                else
                {
                    packages = packages.OrderByDescending(x => x.Sender.LastName).ToList();
                }

                //put the sorted list back in session
                FileHelper.savePackageListToJsonFile(packages);
            }

            model.Packages.AddRange(packages);

            return(View(model));
        }
예제 #2
0
        public IActionResult Admin(string filter, int pageNumber = 1)
        {
            TempData["filter"] = filter;
            ViewBag.Updated    = TempData["updated"];
            //Setting up the messages passed through temp data from closure request
            ViewBag.IsClosureProcessed    = TempData["IsClosureProcessed"];
            ViewBag.ClosureRequestMessage = TempData["ClosureRequestMessage"];
            Func <Package, bool> filterFunction = package => String.IsNullOrEmpty(filter) || package.Name.CaseInsensitiveContains(filter) ||
                                                  package.Client.Name.CaseInsensitiveContains(filter);
            PackageListViewModel vm = new PackageListViewModel
            {
                CurrentFilter = filter,
                Packages      = _packagesRepo.Packages
                                .Include(p => p.Client)
                                .Where(filterFunction)
                                .OrderBy(r => r.Name)
                                .Skip((pageNumber - 1) * PageSize)
                                .Take(PageSize),

                PagingInfo = new PagingInfo
                {
                    CurrentPage  = pageNumber,
                    ItemsPerPage = PageSize,
                    TotalItems   = _packagesRepo.Packages.Count(filterFunction)
                }
            };

            TempData["filter"] = filter;
            return(View(vm));
        }
예제 #3
0
        public ActionResult Category6()
        {
            DistributionCentre   centre           = db.Users.FirstOrDefault(a => a.Login == User.Identity.Name).AccountReferences.FirstOrDefault()?.DistributionCentre;
            List <Package>       suitablePackages = GetSuitablePackages(Statuses[4], centre);
            PackageListViewModel list             = new PackageListViewModel(suitablePackages, "В пункте выдачи", centre);

            return(View("Index", list));
        }
예제 #4
0
        public ActionResult Category10()
        {
            DistributionCentre   centre           = db.Users.FirstOrDefault(a => a.Login == User.Identity.Name).AccountReferences.FirstOrDefault()?.DistributionCentre;
            List <Package>       suitablePackages = GetSuitablePackages(null, centre);
            PackageListViewModel list             = new PackageListViewModel(suitablePackages, "Без статуса", centre);

            return(View("Index", list));
        }
예제 #5
0
        // GET: User
        public ActionResult Index()
        {
            IEnumerable <Package> packages = db.UserPackages.Where(a => a.User.Login == User.Identity.Name).Select(a => a.Package);
            PackageListViewModel  list     = new PackageListViewModel(packages, null, null);

            ViewBag.suitedPackages = null;
            ViewBag.wasSearch      = false;
            return(View(list));
        }
예제 #6
0
        public ActionResult Category8()
        {
            DistributionCentre centre           = db.Users.FirstOrDefault(a => a.Login == User.Identity.Name).AccountReferences.FirstOrDefault()?.DistributionCentre;
            List <Package>     suitablePackages = GetSuitablePackages(Statuses[7], centre);

            suitablePackages.AddRange(GetSuitablePackages(Statuses[8], centre));
            suitablePackages.AddRange(GetSuitablePackages(Statuses[9], centre));
            PackageListViewModel list = new PackageListViewModel(suitablePackages, "Возвраты", centre);

            return(View("Index", list));
        }
예제 #7
0
        /// <summary>
        /// List the specified page.
        /// </summary>
        /// <param name="page">The page.</param>
        /// <returns></returns>
        public ActionResult Index(int?page)
        {
            var viewModel = new PackageListViewModel();

            var  pageNumber = (page ?? 1) - 1;
            long totalCount;
            IEnumerable <IPackage> packages = PackageService.GetAll(pageNumber, PageSize, out totalCount);

            viewModel.Packages = new StaticPagedList <IPackage>(packages, pageNumber + 1, PageSize, (int)totalCount);
            return(View(viewModel));
        }
예제 #8
0
        public async Task <_ListViewModel <PackageListViewModel> > GetPackagesByRSIOrgIdAsync(int rsiOrgId)
        {
            _ListViewModel <PackageListViewModel> model = new _ListViewModel <PackageListViewModel>();

            try
            {
                using (var conn = new SqlConnection(SqlHelper.GetConnectionString()))
                {
                    var parameters = new[]
                    {
                        new SqlParameter("@RSIOrgId", rsiOrgId)
                    };

                    var rdr = await SqlHelper.ExecuteReaderAsync(
                        conn,
                        CommandType.StoredProcedure,
                        "[dbo].[GetPackagesByRSIOrgId]",
                        parameters);

                    if (rdr.HasRows)
                    {
                        while (rdr.Read())
                        {
                            PackageListViewModel tmp = new PackageListViewModel()
                            {
                                PackageId         = !rdr.IsDBNull(0) ? Decimal.ToInt32(rdr.GetDecimal(0)) : 0,
                                Name              = !rdr.IsDBNull(1) ? rdr.GetString(1) : "",
                                CondoWeeks        = !rdr.IsDBNull(2) ? rdr.GetInt32(2) : 0,
                                RCIWeeks          = !rdr.IsDBNull(3) ? rdr.GetInt32(3) : 0,
                                Points            = !rdr.IsDBNull(4) ? int.Parse(rdr.GetString(4)) : 0,
                                IsUnlimitedPoints = !rdr.IsDBNull(5) ? Decimal.ToInt16(rdr.GetDecimal(5)) == 1 ? true : false : false
                            };

                            model.Rows.Add(tmp);
                        }

                        model.TotalCount = model.Rows.Count;
                        model.Message    = "Success";
                    }
                }
            }
            catch (Exception ex)
            {
                if (model == null)
                {
                    model = new _ListViewModel <PackageListViewModel>();
                }

                model.Message = $"Error: {ex.Message}";
            }

            return(model);
        }
예제 #9
0
        // GET: admin/Package
        public ActionResult list(int page = 1, int pageSize = 20)
        {
            int totalCount = 0;
            PagedList <Package> InfoPager = packageBll.FindPageList(page, pageSize, out totalCount, "Id", true).AsQueryable().ToPagedList(page, pageSize);

            InfoPager.TotalItemCount   = totalCount;
            InfoPager.CurrentPageIndex = page;
            //数据组装到viewModel
            PackageListViewModel index = new PackageListViewModel();

            index.Infos = InfoPager;
            return(View(index));
        }
예제 #10
0
        public ActionResult Index(PackageListViewModel model)
        {
            var new_model = model;

            if (ModelState.IsValid)
            {
                //сохраняем настройки фильтра
                Session[PackageControllerIndexKey] = new Dictionary <string, object>();
                var settings = Session[PackageControllerIndexKey] as IDictionary <string, object>;
                if (!settings.ContainsKey(DateBeginKey))
                {
                    settings.Add(DateBeginKey, model.BeginDate);
                }
                else
                {
                    settings[DateBeginKey] = model.BeginDate;
                }

                if (!settings.ContainsKey(DateEndKey))
                {
                    settings.Add(DateEndKey, model.EndDate);
                }
                else
                {
                    settings[DateEndKey] = model.EndDate;
                }

                if (!settings.ContainsKey(ControllerKey))
                {
                    settings.Add(ControllerKey, model.SelectedControllerId);
                }
                else
                {
                    settings[ControllerKey] = model.SelectedControllerId;
                }

                if (!settings.ContainsKey(OrgKey))
                {
                    settings.Add(OrgKey, model.SelectedOgvId);
                }
                else
                {
                    settings[OrgKey] = model.SelectedOgvId;
                }

                model = CreateModel(model.BeginDate, model.EndDate, model.SelectedControllerId, model.SelectedOgvId);
            }

            return(View(model));
        }
예제 #11
0
        /*
         * 0 <string>Зарегистрировано</string>
         * 1 <string>Ожидается отправка</string>
         * 2 <string>Отправлено в пункт назначения</string>
         * 3 <string>Прибыло в пункт назначения</string>
         * 4 <string>Доставлено в пункт выдачи</string>
         * 5 <string>Передано курьеру</string>
         * 6 <string>Доставлено</string>
         * 7 <string>Будет возвращено отправителю</string>
         * 8 <string>Прибыло для возврата отправителю</string>
         * 9 <string>Возвращено отправителю</string>
         * 10 <string>Отменено</string>
         */
        #region categories
        // GET: Admin
        public ActionResult Index()
        {
            DistributionCentre    centre = db.Users.FirstOrDefault(a => a.Login == User.Identity.Name).AccountReferences.FirstOrDefault()?.DistributionCentre;
            IEnumerable <Package> packages;

            if (centre == null)
            {
                packages = db.Packages.Include(p => p.PersonFrom).Include(p => p.PersonTo).Include(p => p.Tariff);
            }
            else
            {
                packages = db.Packages.Where(a => a.PersonFrom.CentreId == centre.Id || a.PersonFrom.CityId == centre.CityId);
            }
            PackageListViewModel list = new PackageListViewModel(packages, "Все", centre);

            return(View(list));
        }
예제 #12
0
        public IHttpResponse Pending()
        {
            var packages = this.Db.Packages.Where(p => p.Status == Status.Pending).Select(package => new PackageDetailViewModel()
            {
                Id              = package.Id,
                Description     = package.Description,
                ShippingAddress = package.ShippingAddress,
                Weight          = package.Weight,
                Recipient       = package.Recipient.Username
            }).ToList();

            var model = new PackageListViewModel()
            {
                Packages = packages
            };

            return(this.View(model));
        }
예제 #13
0
        public IHttpResponse Shipped()
        {
            var packages = this.Db.Packages.Where(p => p.Status == Status.Shipped).Select(package => new PackageDetailViewModel()
            {
                Id                   = package.Id,
                Description          = package.Description,
                EstimateDeliveryDate = package.EstimateDeliveryDate.ToString(),
                Weight               = package.Weight,
                Recipient            = package.Recipient.Username
            }).ToList();

            var model = new PackageListViewModel()
            {
                Packages = packages
            };

            return(this.View(model));
        }
예제 #14
0
        public List <PackageListViewModel> GetPackages()
        {
            string        selectStatement = "SELECT PackageId, PkgName, PkgStartDate FROM Packages ORDER BY PackageId";
            SqlConnection conn            = new SqlConnection(connString);
            SqlCommand    selectCommand   = new SqlCommand(selectStatement, conn);

            try
            {
                conn.Open();
                SqlDataReader reader             = selectCommand.ExecuteReader(CommandBehavior.CloseConnection);
                List <PackageListViewModel> data = new List <PackageListViewModel>();

                while (reader.Read())
                {
                    DateTime             today = DateTime.Now;
                    PackageListViewModel p     = new PackageListViewModel();
                    p.PackageId = Convert.ToInt32(reader["PackageId"]);
                    p.PkgName   = reader["PkgName"].ToString();
                    DateTime PkgStartDate = Convert.ToDateTime(reader["PkgStartDate"]);
                    if (PkgStartDate < today)
                    {
                        p.expired = true;
                    }
                    else
                    {
                        p.expired = false;
                    }
                    data.Add(p);
                }
                reader.Close();
                return(data);
            }
            catch (SqlException ex)
            {
                MessageBox.Show(ex.Message);
                return(null);
            }
            finally
            {
                conn.Close();
            }
        }
예제 #15
0
        private PackageListViewModel CreateModel(DateTime beginDate, DateTime endDate, Int64 controllerId = -1, Int64 orgId = -1)
        {
            var user_srv    = CompositionRoot.Resolve <IUserService>();
            var status_srv  = CompositionRoot.Resolve <IFileStatusService>();
            var org_srv     = CompositionRoot.Resolve <IOrganizationService>();
            var package_srv = CompositionRoot.Resolve <IPackageService>();

            var model = new PackageListViewModel();

            model.SelectedOgvId        = orgId == -1 ? Organization.All.Id : orgId;
            model.SelectedControllerId = controllerId == -1 ? mfc.domain.entities.User.All.Id : controllerId;
            model.BeginDate            = beginDate;
            model.EndDate = endDate;

            //заполняем список всеми контролерами
            foreach (var user in user_srv.GetControllers())
            {
                model.Controllers.Add(user);
            }
            model.Controllers.Insert(0, mfc.domain.entities.User.All);

            //заполняем список всеми организациями
            model.Organizations.Add(Organization.All);

            foreach (var item in org_srv.GetAllOrganizations())
            {
                model.Organizations.Add(item);
            }

            foreach (var package in package_srv.GetPackages(model.BeginDate, model.EndDate, model.SelectedControllerId, model.SelectedOgvId))
            {
                model.Packages.Add(package);
            }

            return(model);
        }