Exemplo n.º 1
0
        public ActionResult editprof(newAdmtszh model)
        {
            string     requestDomain = Request.Headers["host"];
            uk_profile uk            = repository.uk_profile.Where(p => p.host.Equals(requestDomain)).SingleOrDefault();

            Admtszh newUser = new Admtszh();

            if (ModelState.IsValid)
            {
                newUser.AdmtszhId  = WebSecurity.CurrentUserId;
                newUser.id_uk      = uk.id;
                newUser.SurName    = model.SurName;
                newUser.Name       = model.Name;
                newUser.Patronymic = model.Patronymic;
                newUser.post       = model.post;

                repository.SaveAdmtszh(newUser);
                return(Json(new string[] { "Ok", string.Format("Ваш профиль \"{0}\" был изменен", newUser.id) }));
            }
            ;
            //Send E-mail
            string title   = "Запрос на активацию нового пользователя администрации ТСЖ";
            string message = " Пользователь"
                             + "Ваши логин: " + newUser.SurName + " " + newUser.Name + " " + newUser.Patronymic
                             + "\n Запросили авторизацию для получения полного доступа к функционалу Вам необходимо заполнить анкету и отправить запрос на активацию.";

            SendMail("smtp.yandex.ru", "*****@*****.**", "321654as", uk.Email, title, message);
            return(Json(new string[] { "Ok", "Заявка отправлена" }));
        }
Exemplo n.º 2
0
        public ActionResult EditUk()
        {
            Admtszh    admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            uk_profile uk      = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault();

            return(Json(uk, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
        public ActionResult profile(string returnUrl)
        {
            Admtszh    admuser = null;
            uk_profile uk      = null;

            try
            {
                admuser             = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
                uk                  = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault();
                ViewData["uk_name"] = uk.Name;

                //  ViewData["user_adr"] = get_adr(user.Adress);
            }
            catch (Exception ex)
            {
                Log.Error("GET Admtszh/profile Пользователь: " + WebSecurity.CurrentUserName, ex);
                ViewData["uk_name"] = "нет данных";
                //       ViewData["user_adr"] = "нет данных";
                if (admuser == null)
                {
                    return(View(new Admtszh()));
                }
            }
            //----------------------------
            return(View(admuser));
        }
Exemplo n.º 4
0
        public ActionResult readFeedBack()
        {
            Admtszh    admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            uk_profile uk      = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault();

            IEnumerable <feedback> list = repository.feedback.Where(p => p.id_uk.Equals(uk.id)).OrderByDescending(p => p.datetime);

            return(Json(list));
        }
Exemplo n.º 5
0
        public ActionResult ViewUsers()
        {
            Admtszh    admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            uk_profile uk      = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault();

            IEnumerable <UserProfile> users = repository.UserProfile.Where(p => p.id_uk.Equals(uk.id)).OrderBy(p => p.SurName);

            return(View(users));
        }
Exemplo n.º 6
0
        public ActionResult DeleteUk(int id = 0)
        {
            uk_profile del_uk = repository.DeleteUk(id);

            if (del_uk != null)
            {
                TempData["message"] = string.Format("ТСЖ \"{0}\"был удален", del_uk.Name);
            }
            return(RedirectToAction("ViewUk"));
        }
Exemplo n.º 7
0
        public uk_profile DeleteUk(int id)
        {
            uk_profile db = context.uk_profiles.Find(id);

            if (db != null)
            {
                context.uk_profiles.Remove(db);
                context.SaveChanges();
            }
            return(db);
        }
Exemplo n.º 8
0
        public ActionResult send_profile(UserProfile_nouk_form model)
        {
            UserProfile user          = new UserProfile();
            string      requestDomain = Request.Headers["host"];
            uk_profile  uk            = repository.uk_profile.Select(p => p).Where(p => p.host.Equals(requestDomain)).SingleOrDefault();

            if (uk == null)
            {
                return(RedirectToAction("Index", "Login"));
            }

            string title;
            string message;

            model.UserId = WebSecurity.CurrentUserId;
            if (ModelState.IsValid)
            {
                user.id_uk            = uk.id;
                user.Adress           = model.Adress;
                user.Apartment        = model.Apartment;
                user.Email            = model.Email;
                user.login            = WebSecurity.CurrentUserName;
                user.Name             = model.Name;
                user.Patronymic       = model.Patronymic;
                user.Personal_Account = model.Personal_Account;
                user.phone            = model.phone;
                user.SurName          = model.SurName;
                user.UserId           = model.UserId;
                title   = "Заявка на активацию нового пользователя";
                message = "Анкетные данные: <br>Ф.И.О.:\n" + model.SurName + " " + model.Name + " " + model.Patronymic + "\nE-mail: " +
                          model.Email + "\nЛицевой счет: " + model.Personal_Account + "\nТелефон: " + model.phone + "\nДомашний адрес: " + model.Adress + ", Квартира: " + model.Apartment;
                feedback mess = new feedback();
                mess.id_uk   = uk.id;
                mess.id_user = user.UserId;
                mess.title   = title;
                mess.message = message;
                try
                {
                    FeedBack_from_nouk(mess);
                    SendMail("smtp.yandex.ru", "*****@*****.**", "321654as", uk.Email, title, message);
                }
                catch (Exception ex)
                {
                    Log.Error("POST User/send_profile, не удалось отправить письмо:", ex);
                }
                repository.SaveUser(user);
                string[] res = { "Ok", "Ваша заявка отправлена: ", message };
                return(Json(res));
            }

            return(Json(new string[] { "Error", "Заполните все поля" }));
        }
Exemplo n.º 9
0
        public ActionResult profile(string returnUrl)
        {
            //Проверка на принадлежность пользователя
            UserProfile user          = null;
            uk_profile  uk            = null;
            string      requestDomain = Request.Headers["host"];

            user = repository.UserProfile.Where(p => p.UserId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            uk   = repository.uk_profile.Where(p => p.id == user.id_uk).SingleOrDefault();
            ViewData["uk_name"]  = uk.Name;
            ViewData["user_adr"] = get_adr(user.Adress);
            //----------------------------
            return(View(user));
        }
Exemplo n.º 10
0
        public ActionResult EditArticle(int id = 0)
        {
            Article    art;
            Admtszh    admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            uk_profile uk      = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault();

            if (id == 0)
            {
                art = new Article();
            }
            else
            {
                art = repository.Articles.Where(a => a.id_uk.Equals(admuser.id_uk)).Where(q => q.id == id).Single();
            }
            return(Json(art, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 11
0
        public ActionResult EditArticle(Article article)
        {
            Admtszh    admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            uk_profile uk      = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault();

            article.publicDate = DateTime.UtcNow;// -TimeZone.CurrentTimeZone; ;
            try
            {
                repository.SaveArticle(article);
                return(Json(new string[] { "Ok", "Страница обновлена" }));
            }
            catch (Exception ex)
            {
                Log.Error("Не удалось обновить статью");
                return(Json(new string[] { "Error", "Не удалось обновить статью" }));
            }
        }
Exemplo n.º 12
0
 public void SaveUkProfile(uk_profile uk)
 {
     if (uk.id == 0)
     {
         context.uk_profiles.Add(uk);
     }
     else
     {
         uk_profile db = context.uk_profiles.Find(uk.id);
         if (db != null)
         {
             db.Name = uk.Name;
             db.host = uk.host;
         }
     }
     context.SaveChanges();
 }
Exemplo n.º 13
0
        public ActionResult Index(string id = "Главная")
        {
            string     requestDomain = Request.Headers["host"];
            uk_profile uk            = repository.uk_profile.Where(p => p.host.Equals(requestDomain)).SingleOrDefault();
            int        uk_id;

            if (uk == null)
            {
                uk_id = 0;
            }
            else
            {
                uk_id = uk.id;
            }
            Article art = repository.Articles.Where(t => t.title.Equals(id)).Where(u => u.id_uk.Equals(uk_id)).SingleOrDefault();

            return(View(art));
        }
Exemplo n.º 14
0
        public ActionResult DelMess(int id = -1)
        {
            Admtszh    admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            uk_profile uk      = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault();

            if ((id == -1) || (id == 0))
            {
                return(Json("Error", "Нельзя удалить сообщение"));
            }
            try
            {
                repository.DeleteFeedBack(id);
            }
            catch
            {
                return(Json("Error", "Ошибка при удалении сообщения"));
            }
            return(Json("Ok", "Сообщение удалено"));
        }
Exemplo n.º 15
0
        public ActionResult CreateUk(uk_profile uk)
        {
            uk.RegDate = DateTime.UtcNow;
            repository.SaveUkProfile(uk);

            //необходимо создавать пустые (или дефолтные) статьи для тсж
            Article article = new Article();

            article.title      = "Главная";
            article.publicDate = DateTime.UtcNow;
            repository.SaveArticle(article);
            Article doc = new Article();

            doc.title      = "Документы";
            doc.publicDate = DateTime.UtcNow;
            repository.SaveArticle(doc);
            Article contact = new Article();

            contact.title      = "Контакты";
            contact.publicDate = DateTime.UtcNow;
            repository.SaveArticle(contact);

            return(RedirectToAction("ViewUk"));
        }
Exemplo n.º 16
0
        public ActionResult FeedBack(feedback mess)
        {
            UserProfile user = repository.UserProfile.Where(p => p.UserId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            uk_profile  uk   = repository.uk_profile.Where(p => p.id == user.id_uk).SingleOrDefault();

            //------------------------------------
            mess.datetime = DateTime.UtcNow;
            if (string.IsNullOrEmpty(mess.title))
            {
                return(Json(new string[] { "Error", "Вы не заполнили тему сообщения" }));
            }
            else if (string.IsNullOrEmpty(mess.message))
            {
                return(Json(new string[] { "Error", "Пустое сообщение" }));
            }
            else if (mess.message.Length > 2000)
            {
                return(Json(new string[] { "Error", "Недопустимая длина строки" }));
            }

            if (ModelState.IsValid)
            {
                mess.id_uk   = uk.id;
                mess.status  = false;
                mess.id_user = WebSecurity.CurrentUserId;
                mess.message = Regex.Replace(mess.message, @"(\r\n)", "<br>");
                if (uk.Email != null)
                {
                    SendMail("smtp.yandex.ru", "*****@*****.**", "321654as", uk.Email, mess.title, mess.message);
                }
                repository.SaveFeedBack(mess);
                TempData["message"] = string.Format("Ваша заявка отправлена", mess.title);
                return(Json(new string[] { "Ok", "Ваша заявка отправлена: ", mess.title }));
            }
            return(Json(new string[] { "Error", "Ошибка" }));
        }
Exemplo n.º 17
0
        private ActionResult FeedBack_from_nouk(feedback mess)
        {
            //Определяем домен
            string      requestDomain = Request.Headers["host"];
            UserProfile user          = repository.UserProfile.Where(p => p.UserId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            //Ищем ТСЖ по домену, на котором регистируемся
            uk_profile uk = repository.uk_profile.Where(p => p.host.Equals(requestDomain)).SingleOrDefault();

            //------------------------------------
            mess.datetime = DateTime.UtcNow;
            if (ModelState.IsValid)
            {
                mess.status  = false;
                mess.id_uk   = uk.id;
                mess.id_user = WebSecurity.CurrentUserId;
                if (uk.Email != null)
                {
                    SendMail("smtp.yandex.ru", "*****@*****.**", "321654as", uk.Email, "Обращение от " + user.SurName + user.Name + ": " + mess.title, mess.message);
                }
                repository.SaveFeedBack(mess);
                return(RedirectToAction("Index"));
            }
            return(View(mess));
        }
Exemplo n.º 18
0
 public ActionResult EditUk(uk_profile uk = null)
 {
     repository.SaveUkProfile(uk);
     return(Json("Ok"));
 }
Exemplo n.º 19
0
 public ActionResult EditUk(uk_profile uk = null)
 {
     repository.SaveUkProfile(uk);
     //обновить роль пользователей
     return(View(uk));
 }
Exemplo n.º 20
0
        public ActionResult ViewCounters(int month = 0, int year = 0)
        {
            IEnumerable <UserProfile> users = null;
            //To do add array of user's counters
            List <Counter_model>       model       = new List <Counter_model>();
            IEnumerable <Counter>      ListCounter = null;
            IEnumerable <Counter_data> ListData    = null;
            Admtszh admuser;
            string  requestDomain = Request.Headers["host"];

            try
            {
                admuser = repository.Admtszh.Where(p => p.AdmtszhId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
                uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(admuser.id_uk)).SingleOrDefault();
                users = repository.UserProfile.Where(p => p.id_uk.Equals(uk.id));
            }
            catch (Exception ex)
            {
                Log.Error(Request.ToString() + " User: "******"";
                foreach (var item in users)
                {
                    if (!u.Equals(""))
                    {
                        u = u + ",";
                    }
                    u = u + item.UserId.ToString();
                }
                ListCounter = context.Database.SqlQuery <Counter>("SELECT * FROM [dbo].[Counter] WHERE UserId IN  ( " + u + " )").ToArray(); //repository.Counter.Where(u => u.UserId.Equals(it.id)).Where(p => p.type.Equals(type));

                if (ListCounter.Count() != 0)
                {
                    string res = "";
                    foreach (var item in ListCounter)
                    {
                        if (!res.Equals(""))
                        {
                            res = res + ",";
                        }
                        res = res + item.id.ToString();
                    }
                    ListData = context.Database.SqlQuery <Counter_data>("SELECT * FROM [dbo].[Counter_data] WHERE id IN  ( " + res + " )").ToArray();
                }
                else
                {
                    ListData = new List <Counter_data>().ToArray();
                }
                uk_adress adr;
                foreach (var user in users)
                {
                    Counter_model temp = new Counter_model();
                    temp.Name = user.SurName + " " + user.Name;

                    adr         = context.uk_adresses.Where(pu => pu.id.Equals(user.Adress)).FirstOrDefault();
                    temp.street = adr.Street;
                    temp.house  = adr.House;
                    temp.flat   = user.Apartment;
                    if (year == 0)
                    {
                        year = DateTime.Now.Year;
                    }
                    if (month == 0)
                    {
                        month = DateTime.Now.Month;
                    }
                    DateTime d_start = new DateTime(year, month, 1);
                    DateTime d_end   = d_start.AddMonths(1);
                    bool     status  = true;

                    for (int j = 1; j <= 4; j++)
                    {
                        if (j == 1)
                        {
                            temp.gasi = new List <count_place>();
                        }
                        if (j == 2)
                        {
                            temp.energoi = new List <count_place>();
                        }
                        if (j == 3)
                        {
                            temp.cwi = new List <count_place>();
                        }
                        if (j == 4)
                        {
                            temp.hwi = new List <count_place>();
                        }

                        IEnumerable <Counter> counters = ListCounter.Where(p => p.UserId.Equals(user.UserId)).Where(t => t.Type.Equals(j));
                        foreach (Counter counter in counters)
                        {
                            Counter_data t_data = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end).SingleOrDefault();
                            //                                foreach (var it in t_data)
                            if (t_data != null)
                            {
                                count_place cp = new count_place();
                                cp.id    = t_data.id;
                                cp.data  = t_data.data;
                                cp.place = ListCounter.Where(p => p.id.Equals(t_data.id)).FirstOrDefault().Name;
                                status   = t_data.status;

                                if (j == 1)
                                {
                                    temp.gasi.Add(cp);
                                }
                                if (j == 2)
                                {
                                    temp.energoi.Add(cp);
                                }
                                if (j == 3)
                                {
                                    temp.cwi.Add(cp);
                                }
                                if (j == 4)
                                {
                                    temp.hwi.Add(cp);
                                }
                                cp = null;
                            }
                        }
                    }


                    if ((temp.gasi.Count == 0) && (temp.energoi.Count == 0) && (temp.cwi.Count == 0) && (temp.hwi.Count == 0))
                    {
                        // temp = null;
                    }
                    else
                    {
                        temp.month  = d_start;
                        temp.status = status;
                        model.Add(temp);
                    }
                    temp = null;
                }
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 21
0
        //       [ValidateJsonAntiForgeryToken]
        public ActionResult Index(LoginModel model)
        {
            if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
            {
                uk_profile uk_u = null;
                uk_profile uk_a = null;
                try
                {
                    Account_model result = new Account_model();
                    result.id    = WebSecurity.GetUserId(model.UserName);
                    result.Login = model.UserName;

                    UserProfile user    = repository.UserProfile.Where(p => p.UserId.Equals(result.id)).SingleOrDefault();
                    Admtszh     admtszh = repository.Admtszh.Where(p => p.AdmtszhId.Equals(result.id)).SingleOrDefault();

                    if ((user == null) && (admtszh == null))
                    {
                        //Пользователь не принадлежайщий никакому ТСЖ
                        //т.е не имеющий роли, просто входит
                        FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                        return(Json(result));
                    }

                    string requestDomain = Request.Headers["host"];
                    if (user != null)
                    {
                        uk_u = repository.uk_profile.Where(p => p.id.Equals(user.id_uk)).SingleOrDefault();
                    }
                    if (admtszh != null)
                    {
                        uk_a = repository.uk_profile.Where(p => p.id.Equals(admtszh.id_uk)).SingleOrDefault();
                    }
                    //Если пользователь имеет несколько ролей в разных ТСЖ
                    var myList = new List <string>();
                    foreach (var role in Roles.GetRolesForUser(model.UserName))
                    {
                        if (user != null)
                        {
                            if (requestDomain.Equals(uk_u.host) && role.Equals("User"))
                            {
                                myList.Add(role);
                            }
                        }
                        if (admtszh != null)
                        {
                            if (requestDomain.Equals(uk_a.host) && role.Equals("Moder"))
                            {
                                myList.Add(role);
                            }
                        }
                    }

                    result.Roles = myList.ToArray();

                    if (result.Roles.Count() > 0)
                    {
                        foreach (var role in result.Roles)
                        {
                            if (role.Equals("User"))
                            {
                                if (user != null)
                                {
                                    if (requestDomain.Equals(uk_u.host))
                                    {
                                        //User have direct company
                                        FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                                        return(Json(result));
                                    }
                                    else
                                    {
                                        //User have no current direct company
                                        //TempData["message"] = string.Format("Хост: \"{0}\" ", requestDomain);
                                        //WebSecurity.Logout();
                                        return(Json(new string[] { "Error", "Имя пользователя или пароль не принадлежат данному домену" }));
                                    }
                                }
                            }
                            if (role.Equals("Moder"))
                            {
                                if (admtszh != null)
                                {
                                    if (requestDomain.Equals(uk_a.host))
                                    {
                                        //User have direct company
                                        FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                                        return(Json(result));
                                        //        return new HttpStatusCodeResult(200, "{id:"+ WebSecurity.CurrentUserId.ToString() + "}");
                                    }
                                    else
                                    {
                                        //User have no current direct company
                                        //TempData["message"] = string.Format("Хост: \"{0}\" ", requestDomain);
                                        //
                                        return(Json(new string[] { "Error", "Имя пользователя или пароль не принадлежат данному домену" }));
                                    }
                                }
                            }
                            if (role.Equals("Admin"))
                            {
                                //Админов просто авторизовать
                                FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
                                return(Json(result));
                            }
                        }
                        WebSecurity.Logout();
                    }
                }
                catch (Exception ex)
                {
                    Logger.Log.Error("Внутренняя ошибка при авторизации пользователя" + model.UserName, ex);
                }
            }
            return(Json(new string[] { "Error", "Имя пользователя или пароль указаны неверно." }));
        }
Exemplo n.º 22
0
        public ActionResult EditUk(int id = 0)
        {
            uk_profile uk = repository.uk_profile.Where(p => p.id.Equals(id)).SingleOrDefault();

            return(View(uk));
        }
Exemplo n.º 23
0
        public ActionResult ViewDataMeters(int month = 0, int year = 0)
        {
            UserProfile user = null;
            uk_profile  uk   = null;
            //      user = repository.UserProfile.Where(p => p.UserId.Equals(WebSecurity.CurrentUserId)).SingleOrDefault();
            //     uk = repository.uk_profile.Where(p => p.id == user.id_uk).SingleOrDefault();
            //------------------------------------
            //To do add array of user's counters

            Counter_user_viewdata      model       = new  Counter_user_viewdata();
            IEnumerable <Counter>      ListCounter = null;
            IEnumerable <Counter_data> ListData    = null;

            using (var context = new EFDbContext())
            {
                ListCounter = context.Database.SqlQuery <Counter>("SELECT * FROM [dbo].[Counter] WHERE UserId IN  ( " + WebSecurity.CurrentUserId.ToString() + " )").ToArray();

                if (ListCounter.Count() != 0)
                {
                    string res = "";
                    foreach (var item in ListCounter)
                    {
                        if (!res.Equals(""))
                        {
                            res = res + ",";
                        }
                        res = res + item.id.ToString();
                    }
                    ListData = context.Database.SqlQuery <Counter_data>("SELECT * FROM [dbo].[Counter_data] WHERE id IN  ( " + res + " )").ToArray();
                }
                else
                {
                    ListData = new List <Counter_data>().ToArray();
                }
            }
            //uk_adress adr;
            {
                Counter_user_viewdata temp = new Counter_user_viewdata();

                if (year == 0)
                {
                    year = DateTime.Now.Year;
                }
                if (month == 0)
                {
                    month = DateTime.Now.Month;
                }
                DateTime d_start = new DateTime(year, 1, 1);
                DateTime d_end   = d_start.AddMonths(12).AddDays(-1);
                // bool status = true;
                try
                {
                    IEnumerable <Counter> counters = ListCounter.Where(t => t.Type.Equals(1));
                    temp.gasi = new List <meter_model>();
                    foreach (Counter counter in counters)
                    {
                        meter_model cp = new meter_model();
                        cp.counter  = counter;
                        cp.ListData = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end);
                        temp.gasi.Add(cp);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Log.Error("GET User/ViewDataMeters: gasi", ex);
                }
                try
                {
                    IEnumerable <Counter> counters = ListCounter.Where(t => t.Type.Equals(2));
                    temp.energoi = new List <meter_model>();
                    foreach (Counter counter in counters)
                    {
                        meter_model cp = new meter_model();
                        cp.counter  = counter;
                        cp.ListData = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end);
                        temp.energoi.Add(cp);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Log.Error("GET User/ViewDataMeters: energoi", ex);
                }
                try
                {
                    IEnumerable <Counter> counters = ListCounter.Where(t => t.Type.Equals(3));
                    temp.cwi = new List <meter_model>();
                    foreach (Counter counter in counters)
                    {
                        meter_model cp = new meter_model();
                        cp.counter  = counter;
                        cp.ListData = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end);
                        temp.cwi.Add(cp);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Log.Error("GET User/ViewDataMeters: cwi", ex);
                }
                try
                {
                    IEnumerable <Counter> counters = ListCounter.Where(t => t.Type.Equals(4));
                    temp.hwi = new List <meter_model>();
                    foreach (Counter counter in counters)
                    {
                        meter_model cp = new meter_model();
                        cp.counter  = counter;
                        cp.ListData = ListData.Where(m => m.id.Equals(counter.id)).Where(d => d.write >= d_start).Where(d => d.write < d_end);
                        temp.hwi.Add(cp);
                    }
                }
                catch (Exception ex)
                {
                    Logger.Log.Error("GET User/ViewDataMeters: hwi", ex);
                }
                model = temp;
            }
            return(Json(model, JsonRequestBehavior.AllowGet));
        }