public ActionResult GetService(int?id) { int count = 0; if (id != null) { var userID = User.Identity.GetUserId(); Entity entity = residual.Entities.Where(user => user.UserId == userID).FirstOrDefault(); var serviceList = entity.ServiceRequest; ServiceRequest service = residual.ServiceRequests.Find(id); foreach (var item in serviceList) { if (service.RequestDate == item.RequestDate) { count++; } } if (count >= 3) { ViewBag.error = 1; ModelState.AddModelError("CustomError", "Limite máximo de Serviços para o dia " + service.RequestDate.ToShortDateString()); var requestList = residual.ServiceRequests.Where(x => x.ServiceRequestStatus.Name.Equals(APPROVED) || x.ServiceRequestStatus.Name.Equals(DONE)).ToList(); return(View("ListServices", requestList)); } else { entity.ServiceRequest.Add(service); residual.SaveChanges(); service.ServiceRequestStatusID = PROGRESS; residual.Entry(service).State = EntityState.Modified; residual.SaveChanges(); return(RedirectToAction("ListServices")); } } return(RedirectToAction("ListServices")); }
public ActionResult RequestServices(ClientViewModel.RequestService model) { if (ModelState.IsValid) { DateTime today = DateTime.Today; if (model.ServiceDate <= today) { ViewBag.error = 1; ModelState.AddModelError("CustomError", "A data do Serviço tem de ser superior a " + today.ToShortDateString()); ViewBag.LocationID = new SelectList(residual.Locations, "ID", "Name"); ViewBag.ServicesTypesID = new SelectList(residual.ServicesTypes, "ID", "Name"); ViewBag.ResidueTypeID = new SelectList(residual.ResidueTypes, "ID", "Name"); return(View()); } var userID = User.Identity.GetUserId(); Entity entity = residual.Entities.Where(user => user.UserId == userID).FirstOrDefault(); Location location = residual.Locations.Find(model.LocationID); ServiceRequest rs = new ServiceRequest() { RequestDate = model.ServiceDate, ResidueTypeID = model.ResidueTypeID, ServiceTypeID = model.ServicesTypesID, Adress = model.Adress, Description = model.Description, Location = location.Name, ServiceRequestStatusID = 1, }; entity.ServiceRequest.Add(rs); residual.SaveChanges(); return(View("Index")); } return(View(model)); }
public async Task <ActionResult> RegisterEmployee(RegisterEmployeeViewModel model) { if (ModelState.IsValid) { var userAsp = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(userAsp, model.Password); if (result.Succeeded) { await UserManager.AddToRoleAsync(userAsp.Id, "Employee"); Entity entity = new Entity { Email = model.Email, UserId = userAsp.Id, Name = model.Name, LocationID = model.LocationID, BirthDate = model.BirthDate, Adress = model.Adress, Contact = model.Contact, Gender = model.Gender }; residual.Entities.Add(entity); residual.SaveChanges(); // For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771 // Send an email with this link // string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id); // var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme); // await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>"); return(RedirectToAction("ListEntities", "Manage")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }