예제 #1
0
        public void LoadModel(ref Models.ProductModel m)
        {
            PlaceService       placeService      = new PlaceService();
            RegionService      regionService     = new RegionService();
            UserInRolesService userInRoleService = new UserInRolesService();

            // Xử lý lấy ID tỉnh, thành phố; quận, huyện.
            // Trường hợp có Xã, phường
            //if (m.PlaceId > 0)
            //{
            //    var temp = placeService.GetParentItem(m.PlaceId);
            //    m.DistrictId = temp.Id;

            //    temp = placeService.GetParentItem(m.DistrictId);
            //    m.CityId = temp.Id;
            //}

            // Danh sách kiểu nhà
            m.ListProductType = productService.ListProductType();

            // Danh sách tỉnh
            m.ListCity = placeService.ListPlaceItemByParent(0);
            if (m.CityId > 0)
            {
                m.ListDistrict = placeService.ListPlaceItemByParent(m.CityId);
            }
            else
            {
                m.ListDistrict = new List <Entities.Item>();
            }

            // Lấy danh sách quận huyện
            if (m.DistrictId > 0)
            {
                m.ListWard = placeService.ListPlaceItemByParent(m.DistrictId);
            }
            else
            {
                m.ListWard = new List <Entities.Item>();
            }

            // Lấy đơn vị tính.
            m.ListCostUnit = productService.ListCostUnit();

            List <Entities.Item> lstRegion = regionService.ListItemActive();
            int id = m.Id;

            if (id > 0)
            {
                // Lấy thông tin vùng cố định
                var fixedRegion = regionService.GetFixedRegion(m.WardId);
                if (fixedRegion != null)
                {
                    m.regionFixedId   = fixedRegion.Id;
                    m.regionFixedText = fixedRegion.Text;
                }

                // Lấy danh sách ảnh
                var lstImg = productService.GetListImage(id);
                m.ListImage = lstImg.Select(x => Url.Content(x.ImageUrl + "\\" + x.Text)).ToArray();
                string username  = m.UserName;
                var    imgConfig = lstImg.Select(y => new Models.ImageConfig()
                {
                    caption = y.Text,
                    size    = y.Size,
                    key     = y.Text,
                    url     = @Url.Action("DeleteImage", "Product", new { image = y.Text, productId = id, username = username })
                }
                                                 ).ToArray();
                m.LstImageConfig = imgConfig;


                // Lấy thông tin vùng lân cận.
                List <int> regionIds = new List <int>();
                regionIds.Add(m.regionFixedId);
                lstRegion = RegionSelected(m.regionFixedId, id, ref regionIds, m.CityId);

                // Lấy chuỗi các xã phường tương ứng.
                //m.StrWards = StringPlaceByRegions(regionIds);

                // Lấy hướng dẫn chi phí cho môi giới
                switch (m.CostUnit)
                {
                case 1:
                    m.StrTutrialCostUnit = AdminConfigs.TUTORIAL_PERCEN_HOUSE;
                    break;

                default:
                    break;
                }
            }
            else
            {
                // Lấy thông tin vùng cố định
                m.regionFixedId = 0;

                // Lấy thời gian bán mặc định.
                m.SellStartDate = System.DateTime.Now;

                // Lấy danh sách ảnh.
                m.ListImage      = GetAllFileTemp(m.UserName);
                m.LstImageConfig = GetAllFileInfo(id, ImageType.PRODUCT_TEMP, m.UserName);

                m.StrTutrialCostUnit = AdminConfigs.TUTORIAL_PERCEN_HOUSE;
            }

            // Lấy danh sách vùng.
            m.ListRegion = lstRegion;

            // Kiểm tra xem người đăng có phải môi giới không.
            m.IsAgency = userInRoleService.CheckUserIsAgency(m.UserId);

            // Lấy danh sách vùng gửi cố định theo user.
            m.ListFixedSendRegion = uirService.GetListItemByUser(m.UserId, 1);

            // Lấy danh sách xã, phường theo vùng cố định khi chọn địa chỉ.
            List <int> regionByAddress = new List <int>();

            if (m.regionFixedId > 0)
            {
                m.StrWards2 = StringPlaceByRegions(m.regionFixedId);
            }

            // Lấy danh sách xã, phường theo vùng cố định theo quyền môi giới.
            foreach (var item in m.ListFixedSendRegion)
            {
                regionByAddress.Add(item.Id);
            }
            m.StrWards1 = StringPlaceByRegions(regionByAddress);
        }