public ActionResult ComplaintUpdate([DataSourceRequest] DataSourceRequest request, ComplaintModel comp)
        {
            if (ModelState.IsValid)
            {
                using (var db = new GazDbContext())
                {
                    var repo = new UserComplaintsRepository(db);

                    var result = repo.GetByID(comp.ComplaintID);

                    if (result != null)
                    {
                        result.Disable = comp.Disable;

                        try
                        {
                            repo.Commit();

                            using (var ms = new MailingService())
                            {
                                ms.SendMail_UserComplaintRead(result);
                            }
                        }
                        catch (Exception)
                        {
                            return Json(new[] { comp }.ToDataSourceResult(request, ModelState));
                        }
                    }
                }
            }

            return Json(new[] { comp }.ToDataSourceResult(request, ModelState));
        }
 private int GetUserIdFromUserName(string userName)
 {
     using (var db = new GazDbContext())
     {
         return db.Users.Single(o => o.Username == userName).ID;
     }
 }
Example #3
0
        public ActionResult GetBillImage(int counterId, string dateStr)
        {
            UserBillModel userBillModel;

            var date = DateTime.ParseExact(dateStr, "dd/MM/yyyy", CultureInfo.CurrentCulture);
            using (var db = new GazDbContext())
            {
                var repo = new BillsRepository(db);
                var userBill = repo.GetBillByDate(counterId, date);

                var user = db.Users.SingleOrDefault(o => o.Username == User.Identity.Name);

                var name = user != null ? string.Format("{0} {1}", user.FirstName, user.LastName) : User.Identity.Name;

                if (userBill == null)
                {
                    return Content("no image");
                }

                userBillModel = new UserBillModel(name, userBill.BillAmount.ToString(CultureInfo.InvariantCulture),
                    userBill.CreateTime, userBill.ID.ToString(CultureInfo.InvariantCulture), userBill.CounterID.ToString());
            }

            return this.UserBillImage(userBillModel);
        }
Example #4
0
        public ActionResult AddCounter(string cityName, string streetName, int houseNumber, int apartmentNumber, float longitude, float latitude)
        {
            using (var db = new GazDbContext())
            {
                var result = db.Addresses.Add(new Address
                {
                    ApartmentNumber = apartmentNumber,
                    CityName = cityName,
                    HouseNumber = houseNumber,
                    StreetName = streetName,
                    latitude = latitude,
                    longitude = longitude,
                });

                db.SaveChanges();

                db.Counters.Add(new Counter()
                {
                    AddressID = result.ID
                });

                db.SaveChanges();
            }

            return Content("נוסף מונה");
        }
Example #5
0
        public void SendComplaintReadMail()
        {
            bool isSent = false;

            using (var db = new GazDbContext())
            {
                var repo = new UserComplaintsRepository(db);

                var result = repo.GetByID(1005);

                if (result != null)
                {
                    result.Disable = true;

                    try
                    {
                        repo.Commit();

                        using (var ms = new MailingService())
                        {
                            isSent = ms.SendMail_UserComplaintRead(result);
                        }
                    }
                    catch (Exception)
                    {
                        throw;
                    }
                }
            }

            Assert.IsTrue(isSent);
        }
Example #6
0
        public void GetCounterForUserID()
        {
            GazDbContext dbContext = new GazDbContext();
            var userRepository = new UserRepository(dbContext);
            var user = userRepository.GetUserDetails(1);

            Assert.AreEqual("moshemoshe", user.Username);
        }
Example #7
0
        public ActionResult Index()
        {
            var test = WebSecurity.CurrentUserName;
            var db = new GazDbContext();
            var repo = new UserRepository(db);
            var users = repo.GetAll();

            return View(users);
        }
 public void SetNotificationForMultipleUsers(string message, int[] userIds, bool json)
 {
     using (var db = new GazDbContext())
     {
         var repo = new UserNotificationRepository(db);
         repo.AddNotificationForMultipleUsers(userIds, message);
         repo.Commit();
     }
 }
Example #9
0
        public List<NotificationViewModel> GetSystemNotifications()
        {
            using (var db = new GazDbContext())
            {
                var userId = db.Users.Single(o => o.Username == User.Identity.Name);

                var notifications = db.UserNotifications.Where(o => o.UserID == userId.ID && o.Disabled == false);

                return notifications.Select(o => new NotificationViewModel {Content = o.NotificationDescription, CreateTime = o.CreateTime}).ToList();
            }
        }
        private List<SelectListItem> GetListOfUsers()
        {
            using (var db = new GazDbContext())
            {
                var users = db.Users.ToList();

                return users.Select(user => new SelectListItem
                {
                    Value = user.ID.ToString(CultureInfo.InvariantCulture),
                    Text = string.Format("{0} - {2},{1}",user.Username, user.FirstName, user.LastName)
                }).ToList();
            }
        }
        private List<SelectListItem> GetListOfCounters()
        {
            using (var db = new GazDbContext())
            {
                var counters = db.Counters.ToList();

                return counters.Select(counter => new SelectListItem
                {
                    Value = counter.ID.ToString(CultureInfo.InvariantCulture),
                    Text = CounterUiSerivce.GetDetails(counter)
                }).ToList();
            }
        }
Example #12
0
        public UserModel(int userID, GazDbContext db)
        {
            var result = db.Users.Single(o => o.ID == userID);

            ID = result.ID;
            FirstName = result.FirstName;
            LastName = result.LastName;
            PhoneNumber = result.PhoneNumber;
            Email = result.Email;
            Password = result.Password;
            RoleID = result.RoleID;
            Username = result.Username;
        }
Example #13
0
        public JsonResult GetCascadeCounters()
        {
            using (var db = new GazDbContext())
            {
                var urepo = new UserRepository(db);
                var counters = urepo.GetCountersByUserName(User.Identity.Name)
                .Select(counter => new
                {
                    CounterID = counter.ID.ToString(CultureInfo.InvariantCulture),
                    Address = CounterUiSerivce.GetDetails(counter)
                }).ToList();

                return Json(counters, JsonRequestBehavior.AllowGet);
            }
        }
Example #14
0
 public List<ComplaintModel> GetData()
 {
     using (var db = new GazDbContext())
     {
         return db.UserComplaints.Select(o => new ComplaintModel
         {
             CounterID = o.CounterID,
             ComplaintDescription = o.ComplaintDescription,
             ComplaintID = o.ID,
             CreateTime = o.CreateTime,
             Disable = o.Disable,
             UserID = o.UserID
         }).Where(o => o.Disable == false).ToList();
     }
 }
 private List<NotificationModel> GetData()
 {
     using (var db = new GazDbContext())
     {
         return db.UserNotifications.Select(o => new NotificationModel
         {
             NotificationID = o.ID,
             NotificationDescription = o.NotificationDescription,
             UserID = o.UserID,
             UserName =  o.User.FirstName + " " + o.User.LastName,
             CreateTime = o.CreateTime,
             Disabled = o.Disabled
         }).ToList();
     }
 }
Example #16
0
        public ActionResult RemoveUser([DataSourceRequest]DataSourceRequest request, UserModel user)
        {
            if (ModelState.IsValid)
            {
                using (var db = new GazDbContext())
                {

                    var entity = db.Users.Single(o => o.ID == user.ID);

                    db.Users.Remove(entity);
                    db.SaveChanges();
                }
            }

            return Json(new[] { user }.ToDataSourceResult(request, ModelState));
        }
Example #17
0
        public ActionResult GetCountersForUser(int userID)
        {
            var model = new UserCounterModel(userID);

            using (var db = new GazDbContext())
            {
                for (var index = 0; index < model.Counters.Count; index++)
                {
                    var counter = model.Counters[index];
                    var reads = db.CounterReads.Where(o => o.CounterID == counter.CounterID);
                    model.Counters[index].SumReads = reads.Select(o => o.ReadAmount).Sum();
                }
            }

            return PartialView("~/Areas/Admin/Views/Counter/_UserCounter.cshtml", model);
        }
        public ActionResult AddReference(int counterId, int userId)
        {
            using (var db = new GazDbContext())
            {
                var userrepo = new UserRepository(db);
                var counterrepo = new CountersRepository(db);

                var user = userrepo.GetByID(userId);
                var counter = counterrepo.GetByID(counterId);

                user.User_Counters.Add(counter);

                userrepo.Commit();

                return Content("Ref added");
            }
        }
Example #19
0
        public UserCounterModel(int userID)
        {
            using (var db = new GazDbContext())
            {
                UserDetails = new UserModel(userID, db);

                Counters = new List<CounterModel>();

                var counters = db.Users.Find(userID).User_Counters;

                foreach (var count in counters)
                {
                    Counters.Add(new CounterModel(count));
                }

            }
        }
Example #20
0
        public JsonResult GetCascadeBillsMonths(int? counterId)
        {
            if (!counterId.HasValue)
            {
                return null;
            }

            using (var db = new GazDbContext())
            {
                var brepo = new BillsRepository(db);
                var bills = brepo.GetAllBillsByCounterId(counterId.Value).Select(s => s.CreateTime).ToList();

                return Json(bills.Select(s => new
                {
                    MonthFormatted = s.ToString("MM/yyyy"),
                    Date = s.ToString("dd/MM/yyyy")
                }), JsonRequestBehavior.AllowGet);
            }
        }
        public ActionResult NotificationUpdate([DataSourceRequest] DataSourceRequest request, NotificationModel note)
        {
            if (ModelState.IsValid)
            {
                using (var db = new GazDbContext())
                {
                    var result = db.UserNotifications.Single(o => o.ID == note.NotificationID);

                    result.UserID = note.UserID;
                    result.CreateTime = note.CreateTime;
                    result.Disabled = note.Disabled;
                    result.NotificationDescription = note.NotificationDescription;

                    db.SaveChanges();
                }
            }

            return Json(new[] { note }.ToDataSourceResult(request, ModelState));
        }
Example #22
0
        private List<SelectListItem> GetListOfCounters(string userName)
        {
            using (var db = new GazDbContext())
            {
                var user = db.Users.First(o => o.Username == userName);

                var counters = db.Users.Find(user.ID).User_Counters.ToList();
                var list = new List<SelectListItem>();

                foreach (var counter in counters)
                {
                    var counterView = new SelectListItem();
                    counterView.Value = counter.ID.ToString(CultureInfo.InvariantCulture);
                    counterView.Text = CounterDetails(counter);
                    list.Add(counterView);
                }

                return list;
            }
        }
Example #23
0
        public ActionResult AddNewUser([DataSourceRequest]DataSourceRequest request, UserModel model)
        {
            using (var db = new GazDbContext())
            {
                db.Users.Add(new User
                {
                    Email = model.Email,
                    PhoneNumber = model.PhoneNumber,
                    FirstName = model.FirstName,
                    LastName = model.LastName,
                    Password = model.Password,
                    RoleID = model.RoleID,
                    Username = model.Username,
                });

                db.SaveChanges();
            }

            return Json(new[] { model }.ToDataSourceResult(request, ModelState));
        }
        private List<CounterReadModel> GetConsumptionData(int counterId, DateTime startTime, DateTime endTime)
        {
            using (var db = new GazDbContext())
            {
                var repo = new CountersRepository(db);
                var counterReads = repo.GetCounterReadsPerPeriod(counterId, startTime, endTime).OrderByDescending(o => o.CreateTime).ToList();

               var list = counterReads.Select(o => new CounterReadModel
                {
                    CounterID = counterId,
                    CreateTime = o.CreateTime,
                    ReadAmount = o.ReadAmount,
                    ReadID = o.ID
                }).ToList();

                ViewBag.Overroll = GetChartModel(list.OrderBy(o => o.CreateTime).ToList());

                return list;
            }
        }
Example #25
0
        public ActionResult SubmitComplaint(string desc, int counterId)
        {
            desc = desc.Trim();

            var userId = GetUserIdFromUserName(User.Identity.Name);

            using (var db = new GazDbContext())
            {
                var complaint = new UserComplaint
                {
                    ComplaintDescription = desc,
                    CounterID = counterId,
                    Disable = false,
                    CreateTime = DateTime.Now,
                    UserID = userId
                };

                db.UserComplaints.Add(complaint);
                db.SaveChanges();
            }

            return null;
        }
        private void SetNotification(int userID, string message)
        {
            using (var db = new GazDbContext())
            {
                db.UserNotifications.Add(new UserNotification()
                {
                    UserID = userID,
                    CreateTime = DateTime.Now,
                    Disabled = false,
                    NotificationDescription = message
                });

                db.SaveChanges();
            }
        }
        private IEnumerable<SelectListItem> GetListOfCounters(string userName)
        {
            using (var db = new GazDbContext())
            {
                var urepo = new UserRepository(db);
                var counters = urepo.GetCountersByUserName(userName);

                return counters.Select(counter => new SelectListItem()
                {
                    Value = counter.ID.ToString(CultureInfo.InvariantCulture),
                    Text = CounterUiSerivce.GetDetails(counter)
                }).ToList();
            }
        }
Example #28
0
        internal List<UserModel> GetUsers()
        {
            using (var db = new GazDbContext())
            {
                return db.Users.Select(o => new UserModel
                {
                    ID = o.ID,
                    FirstName = o.FirstName,
                    LastName = o.LastName,
                    PhoneNumber = o.PhoneNumber,
                    Email = o.Email,
                    Password = o.Password,
                    RoleID = o.RoleID,
                    Username = o.Username

                }).ToList() ;
            }
        }
Example #29
0
        public ActionResult UsersUpdate([DataSourceRequest]DataSourceRequest request, UserModel user)
        {
            if (ModelState.IsValid)
            {
                using (var db = new GazDbContext())
                {
                    var result = db.Users.Single(o => o.ID == user.ID);

                    result.FirstName = user.FirstName;
                    result.LastName = user.LastName;
                    result.Password = user.Password;
                    result.PhoneNumber = user.PhoneNumber;
                    result.RoleID = user.RoleID;
                    result.Email = user.Email;

                    db.SaveChanges();
                }
            }

            return Json(new[] { user }.ToDataSourceResult(request, ModelState));
        }
        private void SetNotificationForAllUsers(string message)
        {
            using (var db = new GazDbContext())
            {
                var users = db.Users.Where(o => o.RoleID == 1).Select(o => o.ID).ToArray();

                SetNotificationForMultipleUsers(message, users);
            }
        }