示例#1
0
        /// <summary>
        /// Обновляется информация по сайту
        /// </summary>
        /// <param name="item">модель сайта</param>
        /// <returns></returns>
        public override bool updateSiteInfo(SitesModel item)
        {
            using (var db = new CMSdb(_context))
            {
                db.cms_sitess
                .Set(u => u.c_name, item.Title)
                .Set(u => u.c_name_long, item.LongTitle)
                .Set(u => u.c_alias, item.Alias)
                .Set(s => s.c_phone, item.Phone)
                .Set(s => s.c_fax, item.Fax)
                .Set(s => s.c_email, item.Email)
                .Set(s => s.c_tech_email, item.TechEmail)
                .Set(s => s.c_order_email, item.OrderEmail)
                .Set(s => s.c_url, item.Site)
                .Set(s => s.c_worktime, item.Worktime)
                .Set(u => u.c_scripts, item.Scripts)
                .Set(u => u.c_facebook, item.Facebook)
                .Set(u => u.c_vk, item.Vk)
                .Set(u => u.c_instagramm, item.Instagramm)
                .Set(u => u.c_odnoklassniki, item.Odnoklassniki)
                .Set(u => u.c_twitter, item.Twitter)
                .Set(u => u.c_adress, item.Adress)
                .Set(s => s.d_coord_x, (decimal)item.CoordX)
                .Set(s => s.d_coord_y, (decimal)item.CoordY)
                .Update();

                return(true);
            }
        }
 /// <summary>
 /// добавление сайта
 /// </summary>
 /// <param name="site"></param>
 /// <returns></returns>
 public bool InsertSite(SitesModel site)
 {
     using (var db = new CMSdb(_context))
     {
         using (var tr = db.BeginTransaction())
         {
             InsertLog(new LogModel
             {
                 PageId   = site.Id,
                 PageName = site.Title,
                 Section  = LogModule.Sites,
                 Action   = LogAction.insert
             });
             bool result = db.core_sites
                           .Insert(
                 () => new core_sites
             {
                 id         = site.Id,
                 c_name     = site.Title,
                 b_disabled = site.Disabled
             }) > 0;
             tr.Commit();
             return(result);
         }
     }
 }
示例#3
0
 public ActionResult Update(SitesModel SitesObj)
 {
     //------------------------------------------
     //Check ModelState
     //------------------------------------------
     if (!ModelState.IsValid)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Invalid data"));
     }
     //------------------------------------------
     try
     {
         bool result = SitesFactor.Update(SitesObj);
         if (result == true)
         {
             return(List(1, 25, null, null, null, null));
         }
         else
         {
             return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, "Saving operation faild"));
         }
     }
     catch (Exception ex)
     { return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.Message)); }
 }
示例#4
0
        //------------------------------------------------------------------------------------------------------
        #endregion

        #region /*--------- Update ---------*\
        //------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Converts the object properties to SQL paramters and executes the update procedure.
        /// </summary>
        /// <param name="SitesObj">Model object.</param>
        /// <returns>The result of update query.</returns>
        //--------------------------------------------------------------------
        public bool Update(SitesModel SitesObj)
        {
            bool result = false;
            using (SqlConnection myConnection = GetSqlConnection())
            {
                SqlCommand myCommand = new SqlCommand("[dbo].[Sites_Update]", myConnection);
                myCommand.CommandType = CommandType.StoredProcedure;
                //----------------------------------------------------------------------------------------------
                // Set the parameters
                //----------------------------------------------------------------------------------------------
                
				myCommand.Parameters.Add("@SiteID", SqlDbType.Int, 4).Value = SitesObj.SiteID;
				myCommand.Parameters.Add("@Name", SqlDbType.NVarChar, 128).Value = SitesObj.Name;
				myCommand.Parameters.Add("@Url", SqlDbType.NVarChar, 128).Value = SitesObj.Url;
				myCommand.Parameters.Add("@PhotoFile", SqlDbType.NVarChar, 128).Value = SitesObj.PhotoFile;
				myCommand.Parameters.Add("@LogoFile", SqlDbType.NVarChar, 128).Value = SitesObj.LogoFile;
				myCommand.Parameters.Add("@Brief", SqlDbType.NVarChar, 512).Value = SitesObj.Brief;
				myCommand.Parameters.Add("@Address", SqlDbType.NVarChar, 128).Value = SitesObj.Address;
				myCommand.Parameters.Add("@AgencyTypeID", SqlDbType.Int, 4).Value = SitesObj.AgencyTypeID;
				myCommand.Parameters.Add("@BusinessSectionID", SqlDbType.Int, 4).Value = SitesObj.BusinessSectionID;
				myCommand.Parameters.Add("@CountryID", SqlDbType.Int, 4).Value = SitesObj.CountryID;

                //----------------------------------------------------------------------------------------------
                // Execute the command
                //----------------------------------------------------------------------------------------------
                myConnection.Open();
                if (myCommand.ExecuteNonQuery() > 0)
                {
                    result = true;
                }
                myConnection.Close();
                return result;
                //----------------------------------------------------------------------------------------------
            }
        }
示例#5
0
        //------------------------------------------------------------------------------------------------------
        #endregion

        #region --------------GetObject--------------
        //------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Gets the spesific record.
        /// </summary>
        /// <param name="ID">The model id.</param>
        /// <returns>Model object.</returns>
        //--------------------------------------------------------------------
        public static SitesModel GetObject(int SiteID)
        {
            SitesModel        SitesObj = null;
            List <SitesModel> list     = SitesSqlDataPrvider.Instance.Get(SiteID);

            if (list != null && list.Count > 0)
            {
                SitesObj = list[0];
            }
            return(SitesObj);
        }
示例#6
0
        private void InitializeDemoData()
        {
            var site1 = new SitesModel()
            {
                Id = 1, Site = "IGMH"
            };
            var site2 = new SitesModel()
            {
                Id = 2, Site = "FARUKOLHU"
            };

            this.SiteList.Add(site1);
            this.SiteList.Add(site2);
        }
示例#7
0
 public SitesModel GetSites(NexposeManager manager)
 {
     try
     {
         string     jsonResponse = manager.GetSites();
         SitesModel sitesModel   = new SitesModel();
         sitesModel = JsonConvert.DeserializeObject <SitesModel>(jsonResponse);
         return(sitesModel);
     }
     catch (Exception ex)
     {
         Console.WriteLine("ScanController::GetSites \nException: " + ex.Message);
         return(null);
     }
 }
示例#8
0
 public ActionResult GetObject(int id)
 {
     try
     {
         SitesModel SitesObj = SitesFactor.GetObject(id);
         if (SitesObj == null)
         {
             SitesObj = new SitesModel();
         }
         return(Json(SitesObj, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(new HttpStatusCodeResult(HttpStatusCode.InternalServerError, ex.Message));
     }
 }
示例#9
0
        // GET: Sites
        public ActionResult Index(int page = 1)
        {
            int rowCount = 0;
            var model    = new SitesModel
            {
                ListSites  = new Sites().GetPage(0, CmsConstants.RowAmount20, page > 0 ? page - 1 : page, "SiteId Desc", "", "", ref rowCount),
                RowCount   = rowCount,
                Pagination = new PaginationModel
                {
                    TotalPage = rowCount,
                    PageSize  = CmsConstants.RowAmount20,
                    LinkLimit = 5,
                    PageIndex = page
                }
            };

            return(View(model));
        }
示例#10
0
        /// <summary>
        /// Обновление сайта
        /// </summary>
        /// <param name="id"></param>
        /// <param name="upd"></param>
        /// <returns></returns>
        public override bool updateSite(Guid id, SitesModel upd)
        {
            using (var db = new CMSdb(_context))
            {
                using (var tran = db.BeginTransaction())
                {
                    var data = db.cms_sitess.Where(w => w.id == id);
                    if (data.Any())
                    {
                        data
                        .Set(s => s.c_name, upd.Title)
                        .Set(s => s.c_phone, upd.Phone)
                        .Set(s => s.c_fax, upd.Fax)
                        .Set(s => s.c_email, upd.Email)
                        .Set(s => s.c_url, upd.Site)
                        .Set(s => s.c_worktime, upd.Worktime)
                        .Set(s => s.c_scripts, upd.Scripts)
                        .Set(s => s.b_site_off, upd.SiteOff)
                        .Update();

                        //Логирование
                        var log = new LogModel()
                        {
                            Site     = _domain,
                            Section  = LogSection.Sites,
                            Action   = LogAction.update,
                            PageId   = upd.Id,
                            PageName = upd.Title,
                            UserId   = _currentUserId,
                            IP       = _ip,
                        };
                        insertLog(log);

                        tran.Commit();
                        return(true);
                    }
                    return(false);
                }
            }
        }
示例#11
0
        public async Task <Result> Handle(ListSiteQuery request, CancellationToken cancellationToken)
        {
            Result result;

            try
            {
                Expression <Func <Site, bool> > filter = _siteOdataProvider.GetFilterPredicate(request.Filter);
                int?skip = request.Skip.ToNullableInt();
                int?top  = request.Top.ToNullableInt();

                var siteDomains = await _siteReadRepository.ListAsync(filter, skip, top);

                var siteModels = _mapper.Map <IEnumerable <SiteModel> >(siteDomains);
                var count      = siteModels.Count();
                var siteModel  = new SitesModel {
                    Value = siteModels, Count = count, NextLink = null
                };

                result = Result.Ok(siteModel);
            }
            catch (FilterODataException)
            {
                result = Result.Fail(new System.Collections.Generic.List <Failure>()
                {
                    new HandlerFault()
                    {
                        Code    = HandlerFaultCode.InvalidQueryFilter.Name,
                        Message = HandlerFailures.InvalidQueryFilter,
                        Target  = "$filter"
                    }
                }
                                     );
            }
            catch
            {
                result = Result.Fail(CustomFailures.ListSiteFailure);
            }
            return(result);
        }
示例#12
0
        public bool UpdateSite(SitesModel site)
        {
            using (var db = new CMSdb(_context))
            {
                using (var tr = db.BeginTransaction())
                {
                    InsertLog(new LogModel
                    {
                        PageId   = site.Id,
                        PageName = site.Title,
                        Section  = LogModule.Sites,
                        Action   = LogAction.update
                    });

                    bool result = db.core_sites
                                  .Where(w => w.id == site.Id)
                                  .Set(s => s.c_name, site.Title)
                                  .Set(s => s.b_disabled, site.Disabled)
                                  .Update() > 0;
                    tr.Commit();
                    return(result);
                }
            }
        }
示例#13
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            cmsRepository.DislyEvent += CmsRepository_DislyEvent;

            base.OnActionExecuting(filterContext);

            ControllerName = filterContext.RouteData.Values["Controller"].ToString().ToLower();
            ActionName     = filterContext.RouteData.Values["Action"].ToString().ToLower();
            Guid _PageId;

            try {
                Domain = _cmsRepository.getSiteId(Request.Url.Host.ToLower().Replace("www.", ""));
            }
            catch (Exception ex)
            {
                if (Request.Url.Host.ToLower().Replace("www.", "") != ConfigurationManager.AppSettings["BaseURL"])
                {
                    filterContext.Result = Redirect("/Error/");
                }
                else
                {
                    Domain = String.Empty;
                }

                AppLogger.Debug("CoreController: Не получилось определить Domain", ex);
            }
            ViewBag.Domain = Domain;

            StartUrl = "/Admin/" + (String)RouteData.Values["controller"] + "/";

            #region Настройки сайта

            //SettingsInfo = _cmsRepository.getCmsSettings();
            // Сайт, на котором находимся
            //if (Domain != String.Empty) SettingsInfo.ThisSite = _cmsRepository.getSite(Domain);
            #endregion

            #region Данные об авторизованном пользователе
            Guid _userId = new Guid();
            try { _userId = new Guid(System.Web.HttpContext.Current.User.Identity.Name); }
            catch { FormsAuthentication.SignOut(); }
            AccountInfo = _accountRepository.getCmsAccount(_userId);

            // Список доменов, доступных пользователю
            AccountInfo.Domains = _accountRepository.getUserDomains(_userId);

            #endregion

            #region Права пользователя
            UserResolutionInfo = _accountRepository.getCmsUserResolutioInfo(_userId, ControllerName);
            // Если нет прав на проссмотр, то направляем на главную
            try { if (!UserResolutionInfo.Read)
                  {
                      filterContext.Result = Redirect("/Admin/");
                  }
            }
            catch { }
            #endregion

            #region Ограничение пользователя (не администратора портала и не разработчика) на доступ только к своим сайтам (доменам)
            int IsRedirect = 0;

            SiteInfo = _cmsRepository.getSite(); // информация по сайту

            if (AccountInfo.Group.ToLower() != "developer" && AccountInfo.Group.ToLower() != "administrator")
            {
                if (AccountInfo.Domains != null)
                {
                    foreach (DomainList domain in AccountInfo.Domains)
                    {
                        if (domain.SiteId == Domain)
                        {
                            IsRedirect++;
                        }
                    }
                }


                //перенаправляем на первый из своих доменов
                if (IsRedirect == 0)
                {
                    string url = "http://" + AccountInfo.Domains[0].DomainName + "/Admin/";
                    Response.Redirect(url, true);
                }
            }
            #endregion

            #region  Логи
            try
            {
                _PageId = Guid.Parse(filterContext.RouteData.Values["id"].ToString());
                LogInfo = _cmsRepository.getCmsPageLog(_PageId);
            }
            catch { }
            #endregion
        }
示例#14
0
 // !!!! Далее для всех методов не нужно передавать  Guid user, string ip пользователя, изменившего запись
 //public abstract bool updateSiteInfo(SitesModel item, Guid user, string ip);
 public abstract bool updateSiteInfo(SitesModel item);
示例#15
0
 public abstract bool insertSite(SitesModel ins);
示例#16
0
        protected override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            base.OnActionExecuting(filterContext);

            Domain = "main";

            #region Получаем данные из адресной строки
            //Частные случаи (model.CurrentPage = null) рассматриваем в самих контроллерах
            _alias = "";
            _path  = "/";

            var url = HttpContext.Request.Url.AbsolutePath.ToLower();

            //Сюда попадаем еще, если на странице есть картинки или файлы
            if (url.LastIndexOf(".") > -1)
            {
                return;
            }

            //Обрезаем  query string (Все, что после ? )
            if (url.LastIndexOf("?") > -1)
            {
                url = url.Substring(0, url.LastIndexOf("?"));
            }
            //Сегменты пути
            var segments = url.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);


            if (segments != null && segments.Count() > 0)
            {
                _alias = segments.Last();

                if (segments.Count() > 1)
                {
                    _path = string.Join("/", segments.Take(segments.Length - 1));
                    _path = string.Format("/{0}/", _path);
                }
            }
            currentPage = _repository.getSiteMap(_path, _alias);
            #endregion

            HttpCookie MyCookie = Request.Cookies["order-id"];

            if (User.Identity.IsAuthenticated)
            {
                UserInfo = _repository.getCustomer(new Guid(User.Identity.Name));
                if (UserInfo != null)
                {
                    OrderId = _repository.getOrderId(UserInfo.Id);
                }
            }
            else
            {
                OrderId = (MyCookie != null) ? Guid.Parse(HttpUtility.UrlDecode(MyCookie.Value, Encoding.UTF8)) : Guid.Empty;

                if (MyCookie != null && !_repository.CheckOrder(OrderId))
                {
                    MyCookie.Expires = DateTime.Now.AddDays(-1);
                    Response.Cookies.Add(MyCookie);
                }
            }

            ViewName  = _repository.getView(filterContext.RouteData.Values["Controller"].ToString().ToLower());
            siteModel = _repository.getSiteInfo();
        }
示例#17
0
        /// <summary>
        /// Добавление сайта
        /// </summary>
        /// <param name="ins"></param>
        /// <returns></returns>
        public override bool insertSite(SitesModel ins)
        {
            using (var db = new CMSdb(_context))
            {
                using (var tran = db.BeginTransaction())
                {
                    //проверка на существование строк с таким же алиасом
                    if (!db.cms_sitess.Where(w => w.c_alias == ins.Alias).Any())
                    {
                        db.cms_sitess
                        .Value(v => v.id, ins.Id)
                        .Value(v => v.c_alias, ins.Alias)
                        .Value(v => v.c_name, ins.Title)
                        .Value(v => v.c_name_long, ins.Title)
                        .Value(v => v.c_content_type, ins.Type)
                        .Value(v => v.f_content, ins.ContentId)
                        .Value(v => v.c_theme, "blue")
                        .Insert();

                        //добавление шаблонов к новому сайту
                        var default_view = db.front_sections;
                        if (default_view.Any())
                        {
                            foreach (var item in default_view.ToArray())
                            {
                                db.front_site_sections
                                .Value(v => v.f_site, ins.Alias)
                                .Value(v => v.f_front_section, item.c_alias)
                                .Value(v => v.f_page_view, item.c_default_view)
                                .Insert();
                            }
                        }
                        //назначение пользователям(разработчикам и администраторам портала) прав  к созданному сайту
                        var UserList = db.cms_users_groups.Where(w => (w.c_alias == "Developer" || w.c_alias == "administrator"))
                                       .Join(db.cms_userss, e => e.c_alias, o => o.f_group, (e, o) => o).Select(s => s.id).ToArray();


                        foreach (var item in UserList)
                        {
                            db.cms_user_site_links
                            .Value(v => v.f_user, item)
                            .Value(v => v.f_site, ins.Alias)
                            .Insert();
                        }


                        #region Значение по умолчанию
                        string domain_source = "template-site";
                        switch (ins.Type)//по типу сайта определяется шаблон для дублирования информации
                        {
                        case "org":
                            domain_source = "template-site";
                            break;

                        case "spec":
                            domain_source = "template-site-gs";
                            break;

                        case "event":
                            domain_source = "template-site-event";
                            break;
                        }
                        //db.dublicate_content_sitemap(domain_source, ins.Alias);
                        var sitemap_val = db.content_sitemaps.Where(w => w.f_site == domain_source && w.uui_parent == null).ToArray();
                        #endregion

                        #region Доменные имена
                        if (ins.DomainListArray != null && ins.DomainListArray.Count() > 0)
                        {
                            foreach (var d in ins.DomainListArray)
                            {
                                db.cms_sites_domainss
                                .Value(v => v.f_site, ins.Alias)
                                .Value(v => v.c_domain, d)
                                .Insert();
                            }
                        }
                        #endregion

                        // логирование
                        var log = new LogModel()
                        {
                            Site     = _domain,
                            Section  = LogSection.Sites,
                            Action   = LogAction.insert,
                            PageId   = ins.Id,
                            PageName = ins.Title,
                            UserId   = _currentUserId,
                            IP       = _ip,
                        };
                        insertLog(log);

                        tran.Commit();
                        return(true);
                    }
                    return(false);
                }
            }
        }
示例#18
0
 public abstract bool updateSite(Guid id, SitesModel ins);
示例#19
0
        /// <summary>
        ///  Bu fonksiyon yeni bir Tarama oluşturur ve oluşturulan ID'yi ekrana yazar.
        ///  This function creates a new Scan and created ID writes to the screen.
        /// </summary>
        /// <param name="manager"></param>
        public static void CreateScan(NexposeManager manager)
        {
            ScanController = new ScanController();
            try
            {
                string selected = "";
                do
                {
                    Console.Write("Yeni  Varlık Oluşturmak İstiyor musunuz? (E/H)");
                    selected = Console.ReadLine();
                    string responseId = "";
                    if (selected.ToUpper() == "E")
                    {
                        //Profile Name is scan settings namely it is policy. Profile Adı tarama ayarlarıdır yani policydir.
                        Console.WriteLine("Varlık Adı Giriniz.");
                        string          siteName        = Console.ReadLine();
                        string          scanProfileName = ListAndSelectTemplate(manager);
                        string          targetURL       = SelectTargetURL();
                        SiteCreateModel siteCreate      = new SiteCreateModel(siteName, targetURL, scanProfileName);
                        responseId = ScanController.CreateSite(manager, siteCreate);
                    }
                    else if (selected.ToUpper() == "H")
                    {
                        //Varlıkları Listele
                        SitesModel sitesModel = ScanController.GetSites(manager);
                        int        counter    = 1;
                        if (sitesModel.Resources.Length == 0)
                        {
                            Console.WriteLine("Herhangi bir varlık bulunmamaktadır. Öncelikle yeni bir varlık oluşturunuz.");
                            break;
                        }

                        foreach (var item in sitesModel.Resources)
                        {
                            Console.WriteLine(counter + ") " + item.Name);
                            counter += 1;
                        }
                        Console.WriteLine("Site Numarasını giriniz: ");
                        int id = Convert.ToInt32(Console.ReadLine());


                        ScanCreate scanCreate = new ScanCreate(null, sitesModel.Resources[id - 1].ScanTemplate);

                        ScanCreateResponse scanCreateResponse = ScanController.CreateScan(manager, id.ToString(), scanCreate);
                        if (scanCreateResponse.Id > 0)
                        {
                            Console.WriteLine("Tarama Oluşturuldu. Tarama ID: " + scanCreateResponse.Id);
                            break;
                        }
                    }
                    else
                    {
                        Console.WriteLine("Geçersiz Seçim");
                    }
                } while (selected != "E" & selected != "H");



                //ScanCreate scanCreate = new ScanCreate(scanProfileName, targetURL);
                //string json = JsonConvert.SerializeObject(scanCreate);



                //if (responseJson == null)
                //{
                //    Console.WriteLine("Sistemde herhangi bir tarama mevcut ise öncelikle onu siliniz.");
                //    return;
                //}

                //ScanCreateResponse scanCreateResponse = JsonConvert.DeserializeObject<ScanCreateResponse>(responseJson);
                //Console.WriteLine("Oluşturulan Tarama ID: " + scanCreateResponse.ID);
            }
            catch (Exception ex)
            {
                Console.WriteLine("ScanView::CreateScan Exception: " + ex.Message);
            }
        }
示例#20
0
        //------------------------------------------------------------------------------------------------------
        #endregion

        #region --------------Update--------------
        //------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Updates model object by calling sql data provider update method.
        /// </summary>
        /// <param name="SitesObj">The model object.</param>
        /// <returns>The result of update operation.</returns>
        //--------------------------------------------------------------------
        public static bool Update(SitesModel SitesObj)
        {
            return(SitesSqlDataPrvider.Instance.Update(SitesObj));
        }
示例#21
0
        //------------------------------------------------------------------------------------------------------
        #endregion

        #region /*--------- PopulateModelFromIDataReader ---------*\
        //------------------------------------------------------------------------------------------------------
        /// <summary>
        /// Populates model from IDataReader .
        /// </summary>
        /// <param name="reader"></param>
        /// <returns>Model object.</returns>
        //--------------------------------------------------------------------
        private SitesModel PopulateModelFromIDataReader(IDataReader reader)
        {
            //Create a new object
            SitesModel SitesObj = new SitesModel();
            //Fill the object with data

			//------------------------------------------------
			//[SiteID]
			//------------------------------------------------
			if (reader["SiteID"] != DBNull.Value)
			    SitesObj.SiteID = (int)reader["SiteID"];
			//------------------------------------------------
			//------------------------------------------------
			//[Name]
			//------------------------------------------------
			if (reader["Name"] != DBNull.Value)
			    SitesObj.Name = (string)reader["Name"];
			//------------------------------------------------
			//------------------------------------------------
			//[Url]
			//------------------------------------------------
			if (reader["Url"] != DBNull.Value)
			    SitesObj.Url = (string)reader["Url"];
			//------------------------------------------------
			//------------------------------------------------
			//[PhotoFile]
			//------------------------------------------------
			if (reader["PhotoFile"] != DBNull.Value)
			    SitesObj.PhotoFile = (string)reader["PhotoFile"];
			//------------------------------------------------
			//------------------------------------------------
			//[LogoFile]
			//------------------------------------------------
			if (reader["LogoFile"] != DBNull.Value)
			    SitesObj.LogoFile = (string)reader["LogoFile"];
			//------------------------------------------------
			//------------------------------------------------
			//[Brief]
			//------------------------------------------------
			if (reader["Brief"] != DBNull.Value)
			    SitesObj.Brief = (string)reader["Brief"];
			//------------------------------------------------
			//------------------------------------------------
			//[Address]
			//------------------------------------------------
			if (reader["Address"] != DBNull.Value)
			    SitesObj.Address = (string)reader["Address"];
			//------------------------------------------------
			//------------------------------------------------
			//[AgencyTypeID]
			//------------------------------------------------
			if (reader["AgencyTypeID"] != DBNull.Value)
			    SitesObj.AgencyTypeID = (int)reader["AgencyTypeID"];
			//------------------------------------------------
			//------------------------------------------------
			//[BusinessSectionID]
			//------------------------------------------------
			if (reader["BusinessSectionID"] != DBNull.Value)
			    SitesObj.BusinessSectionID = (int)reader["BusinessSectionID"];
			//------------------------------------------------
			//------------------------------------------------
			//[CountryID]
			//------------------------------------------------
			if (reader["CountryID"] != DBNull.Value)
			    SitesObj.CountryID = (int)reader["CountryID"];
			//------------------------------------------------
            //Return the populated object
            return SitesObj;
        }