// GET: Reserves public ActionResult Index() { foreach (var item in db.Reserves) { DateTime date = item.Date; if (date.AddHours(1.0) < DateTime.Now && item.Completed == 1) { //Completação da reserva item.Completed = 2; //----------------------- //Reatribuição do horário livre ao Posto de Carregamento TimeAtribuition time = db.TimeAtribuitions.Where(o => o.TimeData.Time.Hour == item.Date.Hour && o.StationPostId == item.StationPostId).Single(); TimeData timeData = db.TimeDatas.Where(o => o.Status == true && o.Time.Hour == time.TimeData.Time.Hour).Single(); db.TimeAtribuitions.Remove(time); TimeAtribuition ta = new TimeAtribuition() { TimeData = timeData, TimeDataId = timeData.TimeDataId, StationPost = item.StationPost, StationPostId = item.StationPost.StationPostId }; db.TimeAtribuitions.Add(ta); //------------------------------------------------------ } } db.SaveChanges(); var reserves = db.Reserves.Include(r => r.RechargeMod).Include(r => r.StationPost); if (User.IsInRole("Client")) { //Reservas do Client autenticado string userId = db.Users.Where(o => o.UserName.Equals(User.Identity.Name)).Select(o => o.Id).Single(); return(View(reserves.Where(o => o.UserId.Equals(userId)).ToList())); //------------------------------ } else if (User.IsInRole("Owner")) { //Impedimento de o owner ver as reservas dos clientes da base de dados return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You don't have authorization to go to webpage.")); //-------------------------------------------------------------------- } //Admin e o resto dos utilizadores que não sejam Owner e Client têm acesso a visualizar as reservas feitas return(View(reserves.ToList())); //-------------------------------------------------------------------------------------------------------- }
public ActionResult ReservThisPost(int?id, int?timeId, int?stationId) { if (!User.IsInRole("Client")) { //Impedimento de o owner ver as reservas dos clientes da base de dados return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You don't have authorization to go to webpage.")); //-------------------------------------------------------------------- } ViewBag.RechargeModId = new SelectList(db.RechargeMods, "RechargeModId", "RechargeModName"); ViewBag.StationPostId = new SelectList(db.StationPosts, "StationPostId", "StationPostName"); ViewBag.PostId = id; ViewBag.TimeId = timeId; ViewBag.StationId = stationId; StationPost stationPost = db.StationPosts.Find(id); Station station = db.Stations.Find(stationId); if (stationPost == null) { return(HttpNotFound()); } TimeAtribuition time = db.TimeAtribuitions.Where(o => o.TimeDataId == timeId && o.StationPostId == id).Single(); TimeData timeData = db.TimeDatas.Where(o => o.Status == false && o.Time.Hour == time.TimeData.Time.Hour).Single(); DateTime reservTime = new DateTime( DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, timeData.Time.Hour, timeData.Time.Minute, timeData.Time.Second ); string userId = db.Users.Where(o => o.UserName.Equals(User.Identity.Name)).Single().Id; Reserve reserve = new Reserve() { Date = reservTime, Completed = 1, StationPost = stationPost, StationPostId = stationPost.StationPostId, UserId = userId, Price = stationPost.Price }; return(View(reserve)); }
public ActionResult Edit([Bind(Include = "StationPostId,StationPostName,RechargeTypeId,Start,Finnish,Price")] StationPost stationPost) { StationPost sst = db.StationPosts.Find(stationPost.StationPostId); if (ModelState.IsValid) { var times = db.TimeAtribuitions.Where(o => o.StationPostId == stationPost.StationPostId); db.TimeAtribuitions.RemoveRange(times); for (int i = 0; i < db.TimeDatas.Count() / 2; i++) { if (i < stationPost.Start.Hour || i > stationPost.Finnish.Hour) { var trueTimes = db.TimeDatas.Where(o => o.Time.Hour == i).Where(k => k.Status == false).Single(); TimeAtribuition ta = new TimeAtribuition() { StationPostId = stationPost.StationPostId, StationPost = stationPost, TimeData = trueTimes, TimeDataId = trueTimes.TimeDataId }; db.TimeAtribuitions.Add(ta); } else { var trueTimes = db.TimeDatas.Where(o => o.Time.Hour == i).Where(k => k.Status == true).Single(); TimeAtribuition ta = new TimeAtribuition() { StationPostId = stationPost.StationPostId, StationPost = stationPost, TimeData = trueTimes, TimeDataId = trueTimes.TimeDataId }; db.TimeAtribuitions.Add(ta); } } db.Entry(stationPost).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.RechargeTypeId = new SelectList(db.RechargeTypes, "RechargeTypeId", "RechargeTypeName", stationPost.RechargeTypeId); return(View(stationPost)); }
public ActionResult DeleteConfirmed(int id) { if (User.IsInRole("Owner")) { //Impedimento de o owner ver as reservas dos clientes da base de dados return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You don't have authorization to go to webpage.")); //-------------------------------------------------------------------- } //Dados Auxilixares Reserve reserve = db.Reserves.Find(id); int stationId = db.StationPostsAtribuition.Where(o => o.StationPostId == reserve.StationPostId).Select(o => o.StationId).Single(); string userId = db.StationAtributions.Where(o => o.StationId == stationId).Select(o => o.UserId).Single(); //----------------- //Execução do pleno de negocios db.MoneyAtribuitions.Where(o => o.UserId.Equals(userId)).Single().Cash += (reserve.Price / 2); db.MoneyAtribuitions.Where(o => o.UserId.Equals(reserve.UserId)).Single().Cash += (reserve.Price / 2); //----------------------------- //Cancelamento da reserva reserve.Completed = 0; //----------------------- //Reatribuição do horário livre ao Posto de Carregamento TimeAtribuition time = db.TimeAtribuitions.Where(o => o.TimeData.Time.Hour == reserve.Date.Hour && o.StationPostId == reserve.StationPostId).Single(); TimeData timeData = db.TimeDatas.Where(o => o.Status == true && o.Time.Hour == time.TimeData.Time.Hour).Single(); db.TimeAtribuitions.Remove(time); TimeAtribuition ta = new TimeAtribuition() { TimeData = timeData, TimeDataId = timeData.TimeDataId, StationPost = reserve.StationPost, StationPostId = reserve.StationPost.StationPostId }; db.TimeAtribuitions.Add(ta); //------------------------------------------------------ db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Index() { foreach (var item in db.Reserves) { DateTime date = item.Date; if (date.AddHours(1.0) < DateTime.Now && item.Completed == 1) { //Completação da reserva item.Completed = 2; //----------------------- //Reatribuição do horário livre ao Posto de Carregamento TimeAtribuition time = db.TimeAtribuitions.Where(o => o.TimeData.Time.Hour == item.Date.Hour && o.StationPostId == item.StationPostId).Single(); TimeData timeData = db.TimeDatas.Where(o => o.Status == true && o.Time.Hour == time.TimeData.Time.Hour).Single(); db.TimeAtribuitions.Remove(time); TimeAtribuition ta = new TimeAtribuition() { TimeData = timeData, TimeDataId = timeData.TimeDataId, StationPost = item.StationPost, StationPostId = item.StationPost.StationPostId }; db.TimeAtribuitions.Add(ta); //------------------------------------------------------ } } db.SaveChanges(); return(View()); }
public ActionResult Edit([Bind(Include = "StationId,StationName,LocalId,Start,Finnish")] Station station) { if (!User.IsInRole("Owner") && !User.IsInRole("Admin")) { //Impedimento de o owner ver as reservas dos clientes da base de dados return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You don't have authorization to go to webpage.")); //-------------------------------------------------------------------- } if (ModelState.IsValid) { var stationPost = db.StationPostsAtribuition.Where(o => o.StationId == station.StationId).Select(o => o.StationPostId); if (stationPost != null) { foreach (int idPost in stationPost) { var times = db.TimeAtribuitions.Where(o => o.StationPostId == idPost); db.TimeAtribuitions.RemoveRange(times); db.StationPosts.Find(idPost).Start = station.Start; db.StationPosts.Find(idPost).Finnish = station.Finnish; for (int i = 0; i < db.TimeDatas.Count() / 2; i++) { if (i < db.StationPosts.Find(idPost).Start.Hour || i > db.StationPosts.Find(idPost).Finnish.Hour) { var trueTimes = db.TimeDatas.Where(o => o.Time.Hour == i).Where(k => k.Status == false).Single(); TimeAtribuition ta = new TimeAtribuition() { StationPostId = db.StationPosts.Find(idPost).StationPostId, StationPost = db.StationPosts.Find(idPost), TimeData = trueTimes, TimeDataId = trueTimes.TimeDataId }; db.TimeAtribuitions.Add(ta); } else { var trueTimes = db.TimeDatas.Where(o => o.Time.Hour == i).Where(k => k.Status == true).Single(); TimeAtribuition ta = new TimeAtribuition() { StationPostId = db.StationPosts.Find(idPost).StationPostId, StationPost = db.StationPosts.Find(idPost), TimeData = trueTimes, TimeDataId = trueTimes.TimeDataId }; db.TimeAtribuitions.Add(ta); } } } } db.Entry(station).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.LocalId = new SelectList(db.Locals, "LocalId", "LocalName", station.LocalId); return(View(station)); }
public ActionResult ReservThisPost([Bind(Include = "ReserveId,UserId,StationPostId,RechargeModId,Date,Price,Completed")] Reserve reserve, int?id, int?timeId, int?stationId) { if (!User.IsInRole("Client")) { //Impedimento de o owner ver as reservas dos clientes da base de dados return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You don't have authorization to go to webpage.")); //-------------------------------------------------------------------- } if (id == null || timeId == null || stationId == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } StationPost stationPost = db.StationPosts.Find(id); Station station = db.Stations.Find(stationId); if (stationPost == null) { return(HttpNotFound()); } if (ModelState.IsValid) { string userId = db.Users.Where(o => o.UserName.Equals(User.Identity.Name)).Single().Id; decimal saldo = db.MoneyAtribuitions.Where(o => o.UserId.Equals(userId)).Single().Cash; if ((saldo - stationPost.Price) < 0) { ModelState.AddModelError(string.Empty, "Não tem dinheiro suficiente na sua conta."); ViewBag.RechargeModId = new SelectList(db.RechargeMods, "RechargeModId", "RechargeModName", reserve.RechargeModId); ViewBag.StationPostId = new SelectList(db.StationPosts, "StationPostId", "StationPostName", reserve.StationPostId); return(View(reserve)); } else { db.MoneyAtribuitions.Where(o => o.UserId.Equals(userId)).Single().Cash = (saldo - stationPost.Price); } TimeAtribuition time = db.TimeAtribuitions.Where(o => o.TimeDataId == timeId && o.StationPostId == id).Single(); TimeData timeData = db.TimeDatas.Where(o => o.Status == false && o.Time.Hour == time.TimeData.Time.Hour).Single(); db.TimeAtribuitions.Remove(time); TimeAtribuition ta = new TimeAtribuition() { TimeData = timeData, TimeDataId = timeData.TimeDataId, StationPost = stationPost, StationPostId = stationPost.StationPostId }; db.TimeAtribuitions.Add(ta); //necessário porque por alguma razão desconhecida ele não consegue passar esta informação reserve.StationPostId = (int)id; //--------------------------------------------------------------------------------------- db.Reserves.Add(reserve); db.SaveChanges(); return(RedirectToAction("Details", new { id = station.StationId })); } ViewBag.RechargeModId = new SelectList(db.RechargeMods, "RechargeModId", "RechargeModName", reserve.RechargeModId); ViewBag.StationPostId = new SelectList(db.StationPosts, "StationPostId", "StationPostName", reserve.StationPostId); return(View(reserve)); }
// GET: Stations public ActionResult Index(string local, string procura, int?pagina) { foreach (var item in db.Reserves) { DateTime date = item.Date; if (date.AddHours(1.0) < DateTime.Now && item.Completed == 1) { //Completação da reserva item.Completed = 2; //----------------------- //Reatribuição do horário livre ao Posto de Carregamento TimeAtribuition time = db.TimeAtribuitions.Where(o => o.TimeData.Time.Hour == item.Date.Hour && o.StationPostId == item.StationPostId).Single(); TimeData timeData = db.TimeDatas.Where(o => o.Status == true && o.Time.Hour == time.TimeData.Time.Hour).Single(); db.TimeAtribuitions.Remove(time); TimeAtribuition ta = new TimeAtribuition() { TimeData = timeData, TimeDataId = timeData.TimeDataId, StationPost = item.StationPost, StationPostId = item.StationPost.StationPostId }; db.TimeAtribuitions.Add(ta); //------------------------------------------------------ } } db.SaveChanges(); StationsIndexViewModel svm = new StationsIndexViewModel(); if (User.IsInRole("Owner")) { string userId = db.Users.Where(o => o.UserName.Equals(User.Identity.Name)).Select(o => o.Id).Single(); var stations = db.StationAtributions.Where(o => o.UserId.Equals(userId)).Select(o => o.Station).Include(s => s.Local); if (!String.IsNullOrEmpty(procura)) { stations = stations.Where(s => s.Local.LocalName.Contains(procura) || s.StationName.Contains(procura)); svm.Procura = procura; } int nreg = 5; int pag = (pagina ?? 1); //Se pagina for um valor não nulo pag= pagina; senão pag= 1. svm.OrdenarEstacoes(stations, pag, nreg); } else { var stations = db.StationAtributions.Select(o => o.Station).Include(s => s.Local); if (!String.IsNullOrEmpty(procura)) { stations = stations.Where(s => s.Local.LocalName.Contains(procura) || s.StationName.Contains(procura)); svm.Procura = procura; } int nreg = 5; int pag = (pagina ?? 1); //Se pagina for um valor não nulo pag= pagina; senão pag= 1. svm.OrdenarEstacoes(stations, pag, nreg); } return(View(svm)); }
public ActionResult AddPost(StationPost stationPost, int?StationId) { if (!User.IsInRole("Owner") && !User.IsInRole("Admin")) { //Impedimento de o owner ver as reservas dos clientes da base de dados return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You don't have authorization to go to webpage.")); //-------------------------------------------------------------------- } if (NomePostoRepetido(stationPost)) { ModelState.AddModelError("StationPostName", "Já existe um posto com este nome nesta ou noutra estação."); AddPost(StationId); } else { if (ModelState.IsValid) { db.StationPosts.Add(stationPost); for (int i = 0; i < db.TimeDatas.Count() / 2; i++) { if (i < stationPost.Start.Hour || i > stationPost.Finnish.Hour) { var trueTimes = db.TimeDatas.Where(o => o.Time.Hour == i).Where(k => k.Status == false).Single(); TimeAtribuition ta = new TimeAtribuition() { StationPostId = stationPost.StationPostId, StationPost = stationPost, TimeData = trueTimes, TimeDataId = trueTimes.TimeDataId }; db.TimeAtribuitions.Add(ta); } else { var trueTimes = db.TimeDatas.Where(o => o.Time.Hour == i).Where(k => k.Status == true).Single(); TimeAtribuition ta = new TimeAtribuition() { StationPostId = stationPost.StationPostId, StationPost = stationPost, TimeData = trueTimes, TimeDataId = trueTimes.TimeDataId }; db.TimeAtribuitions.Add(ta); } } Station stat = db.Stations.Find(StationId); StationPostsAtribuition sss = new StationPostsAtribuition() { Station = stat, StationId = stat.StationId, StationPost = stationPost, StationPostId = stationPost.StationPostId }; db.StationPostsAtribuition.Add(sss); db.SaveChanges(); return(RedirectToAction("Index")); } } ViewBag.RechargeTypeId = new SelectList(db.RechargeTypes, "RechargeTypeId", "RechargeTypeName", stationPost.RechargeTypeId); return(View(stationPost)); }
// GET: Statistics public ActionResult Index() { ApplicationDbContext db = new ApplicationDbContext(); foreach (var item in db.Reserves) { DateTime date = item.Date; if (date.AddHours(1.0) < DateTime.Now && item.Completed == 1) { //Completação da reserva item.Completed = 2; //----------------------- //Reatribuição do horário livre ao Posto de Carregamento TimeAtribuition time = db.TimeAtribuitions.Where(o => o.TimeData.Time.Hour == item.Date.Hour && o.StationPostId == item.StationPostId).Single(); TimeData timeData = db.TimeDatas.Where(o => o.Status == true && o.Time.Hour == time.TimeData.Time.Hour).Single(); db.TimeAtribuitions.Remove(time); TimeAtribuition ta = new TimeAtribuition() { TimeData = timeData, TimeDataId = timeData.TimeDataId, StationPost = item.StationPost, StationPostId = item.StationPost.StationPostId }; db.TimeAtribuitions.Add(ta); //------------------------------------------------------ } } db.SaveChanges(); Dictionary <string, int> timeCount = new Dictionary <string, int>(); Dictionary <string, decimal> moneyCount = new Dictionary <string, decimal>(); List <StatisticTimeData> dataPoints = new List <StatisticTimeData>(); List <StatisticMoney> dataMoneyPoints = new List <StatisticMoney>(); List <string> times = new List <string>(); if (User.IsInRole("Client")) { //Impedimento de o owner ver as reservas dos clientes da base de dados return(new HttpStatusCodeResult(HttpStatusCode.Forbidden, "You don't have authorization to go to webpage.")); //-------------------------------------------------------------------- } else if (User.IsInRole("Owner")) { string userId = db.Users.Where(o => o.UserName.Equals(User.Identity.Name)).Select(o => o.Id).Single(); List <Reserve> reservasOwner = new List <Reserve>(); List <int> reservasnumbers = new List <int>(); List <int> postsnumbers = new List <int>(); foreach (var item in db.StationAtributions) { if (item.UserId.Equals(userId)) { reservasnumbers.Add(item.StationId); } } for (int i = 0; i < reservasnumbers.Count(); i++) { int val = reservasnumbers[i]; var guardar = db.StationPostsAtribuition.Where(o => o.StationId == val).Select(o => o.StationPostId).ToList(); postsnumbers.Add(guardar.ToList()[0]); } int j = 0; for (int i = 0; i < db.Reserves.Count() && j < postsnumbers.Count(); i++) { List <Reserve> all = db.Reserves.ToList(); if (all[i].StationPostId == postsnumbers[j]) { reservasOwner.Add(all[i]); j++; } } foreach (var item in reservasOwner) { if (!times.Contains(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed))) { times.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed)); int ccc = db.Reserves.Where(o => o.Date.Month == item.Date.Month && o.Date.Year == item.Date.Year && o.Completed == item.Completed).Count(); decimal totalmoney = db.Reserves.Where(o => o.Date.Month == item.Date.Month && o.Date.Year == item.Date.Year && o.Completed == item.Completed).Select(o => o.Price).Sum(); timeCount.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed), ccc); if (item.Completed == 0) { moneyCount.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed), totalmoney / 2); } else if (item.Completed == 1) { moneyCount.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed), totalmoney); } else if (item.Completed == 2) { moneyCount.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed), totalmoney); } } } } else { foreach (var item in db.Reserves) { if (!times.Contains(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed))) { times.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed)); int ccc = db.Reserves.Where(o => o.Date.Month == item.Date.Month && o.Date.Year == item.Date.Year && o.Completed == item.Completed).Count(); decimal totalmoney = db.Reserves.Where(o => o.Date.Month == item.Date.Month && o.Date.Year == item.Date.Year && o.Completed == item.Completed).Select(o => o.Price).Sum(); timeCount.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed), ccc); if (item.Completed == 0) { moneyCount.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed), totalmoney / 2); } else if (item.Completed == 1) { moneyCount.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed), totalmoney); } else if (item.Completed == 2) { moneyCount.Add(item.Date.Month + "/" + item.Date.Year + " Status: " + getDefinition(item.Completed), totalmoney); } } } foreach (string item in times) { dataPoints.Add(new StatisticTimeData(item, timeCount[item], item)); dataMoneyPoints.Add(new StatisticMoney(item.Count(), moneyCount[item], item)); } ViewBag.DataTimeReservePoints = JsonConvert.SerializeObject(dataPoints); ViewBag.DataMoneyPoints = JsonConvert.SerializeObject(dataMoneyPoints); //Tentativa de obter informação sobre cada Owner times = new List <string>(); OwnerPoints = new Dictionary <string, List <StatisticTimeData> >(); OwnerMoneyPoints = new Dictionary <string, List <StatisticMoney> >(); userOwnersKeys = new List <string>(); foreach (var item in db.Users) { string nomeRole = db.Roles.Where(o => o.Name.Equals("Owner")).Select(o => o.Id).Single(); if (item.Roles.Select(o => o.RoleId).Contains(nomeRole)) { string userId = item.Id; OwnerPoints.Add(item.UserName, new List <StatisticTimeData>()); OwnerMoneyPoints.Add(item.UserName, new List <StatisticMoney>()); userOwnersKeys.Add(item.UserName); List <Reserve> reservasOwner = new List <Reserve>(); List <int> reservasnumbers = new List <int>(); List <int> postsnumbers = new List <int>(); foreach (var items in db.StationAtributions) { if (items.UserId.Equals(userId)) { reservasnumbers.Add(items.StationId); } } for (int i = 0; i < reservasnumbers.Count(); i++) { int val = reservasnumbers[i]; var guardar = db.StationPostsAtribuition.Where(o => o.StationId == val).Select(o => o.StationPostId).ToList(); postsnumbers.Add(guardar.ToList()[0]); } int j = 0; for (int i = 0; i < db.Reserves.Count() && j < postsnumbers.Count(); i++) { List <Reserve> all = db.Reserves.ToList(); if (all[i].StationPostId == postsnumbers[j]) { reservasOwner.Add(all[i]); j++; } } foreach (var items in reservasOwner) { if (!times.Contains(items.Date.Month + "/" + items.Date.Year + " Status: " + getDefinition(items.Completed))) { times.Add(items.Date.Month + "/" + items.Date.Year + " Status: " + getDefinition(items.Completed)); int ccc = db.Reserves.Where(o => o.Date.Month == items.Date.Month && o.Date.Year == items.Date.Year && o.Completed == items.Completed).Count(); decimal totalmoney = db.Reserves.Where(o => o.Date.Month == items.Date.Month && o.Date.Year == items.Date.Year && o.Completed == items.Completed).Select(o => o.Price).Sum(); string keysss = items.Date.Month + "/" + items.Date.Year + " Status: " + getDefinition(items.Completed); OwnerPoints[item.UserName].Add(new StatisticTimeData(keysss, ccc, keysss)); if (items.Completed == 0) { OwnerMoneyPoints[item.UserName].Add(new StatisticMoney(keysss.Count() + (int)items.Date.Ticks - 1, totalmoney / 2, keysss)); } else if (items.Completed == 1) { OwnerMoneyPoints[item.UserName].Add(new StatisticMoney(keysss.Count() + (int)items.Date.Ticks, totalmoney, keysss)); } else if (items.Completed == 2) { OwnerMoneyPoints[item.UserName].Add(new StatisticMoney(keysss.Count() + (int)items.Date.Ticks + 1, totalmoney, keysss)); } } } } } ViewBag.AllOwnersNames = userOwnersKeys; ViewBag.AllOwnerSize = userOwnersKeys.Count(); return(View()); //---------------------------------------------- } foreach (string item in times) { dataPoints.Add(new StatisticTimeData(item, timeCount[item], item)); dataMoneyPoints.Add(new StatisticMoney(item.Count(), moneyCount[item], item)); } ViewBag.DataTimeReservePoints = JsonConvert.SerializeObject(dataPoints); ViewBag.DataMoneyPoints = JsonConvert.SerializeObject(dataMoneyPoints); return(View()); }
// GET: StationPosts public ActionResult Index() { foreach (var item in db.Reserves) { DateTime date = item.Date; if (date.AddHours(1.0) < DateTime.Now && item.Completed == 1) { //Completação da reserva item.Completed = 2; //----------------------- //Reatribuição do horário livre ao Posto de Carregamento TimeAtribuition time = db.TimeAtribuitions.Where(o => o.TimeData.Time.Hour == item.Date.Hour && o.StationPostId == item.StationPostId).Single(); TimeData timeData = db.TimeDatas.Where(o => o.Status == true && o.Time.Hour == time.TimeData.Time.Hour).Single(); db.TimeAtribuitions.Remove(time); TimeAtribuition ta = new TimeAtribuition() { TimeData = timeData, TimeDataId = timeData.TimeDataId, StationPost = item.StationPost, StationPostId = item.StationPost.StationPostId }; db.TimeAtribuitions.Add(ta); //------------------------------------------------------ } } db.SaveChanges(); if (User.IsInRole("Owner")) { String userid = db.Users.Where(o => o.UserName.Equals(User.Identity.Name)).Select(o => o.Id).Single(); List <int> estacoesUser = db.StationAtributions.Where(o => o.UserId.Equals(userid)).Select(o => o.StationId).ToList(); List <int> postss = new List <int>(); foreach (StationPostsAtribuition postId in db.StationPostsAtribuition.ToList()) { if (estacoesUser.Contains(postId.StationId)) { postss.Add(postId.StationPostId); } } List <StationPost> postsTrue = new List <StationPost>(); foreach (StationPost postId in db.StationPosts.ToList()) { if (postss.Contains(postId.StationPostId)) { postsTrue.Add(postId); } } return(View(postsTrue.ToList())); } var stationPosts = db.StationPosts.Include(s => s.RechargeType).OrderBy(o => o.StationPostId); return(View(stationPosts.ToList())); }