public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); await UserManager.AddToRoleAsync(user.Id, "Employee"); HolidayManagementContext db = new HolidayManagementContext(); UserDetails nuser = new UserDetails { LastName = model.LastName, FirstName = model.FirstName, UserID = user.Id }; db.UserDetailsModel.Add(nuser); db.SaveChanges(); //Regisztracio utan atiranyitas,Login-t 464.sorban return(RedirectToAction("Index", "Dashboard")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public ActionResult AddHoliday(Vacation model) { string message = ""; bool succes = false; HolidayManagementContext database = new HolidayManagementContext(); VacationRepository vacationrepo = new VacationRepository(); var UserId = User.Identity.GetUserId(); UserDetailsRepository udr = new UserDetailsRepository(); var userDetails = udr.GetUserDetailsByUserId(UserId); model.Date = DateTime.Now; model.StateId = 1; model.UserId = userDetails.ID; database.Vacations.Add(model); message = validateVacation(model); if (message == null) { database.SaveChanges(); succes = true; } else { succes = false; } return(Json(new { successed = succes, Message = message, newUser = model }, JsonRequestBehavior.DenyGet)); }
public ActionResult EditUser(UserDetails model) { string message = "ok"; bool successed = true; using (HolidayManagementContext db = new HolidayManagementContext()) { //Id megkeresese alapjan visszateriti a modelt var user = db.UserDetailsModel.FirstOrDefault(x => x.ID == model.ID); user.LastName = model.LastName; user.FirstName = model.FirstName; user.AspnetUsers.Email = model.AspnetUsers.Email; user.HireDate = model.HireDate; user.MaxDays = model.MaxDays; user.Team = model.Team; db.SaveChanges(); } UserDetailsRepository UDR = new UserDetailsRepository(); var res = new { Success = successed, EMessage = message, usersList = UDR.GetUsers() };// return(Json(res, JsonRequestBehavior.DenyGet)); }
public ActionResult EditUser(UserDetails model, string rolesName) { // List<string> m = new List<string>(); string message = "Succes"; bool succes = false; HolidayManagementContext database = new HolidayManagementContext(); try { var user = database.UserDetails.FirstOrDefault(x => x.AspnetUsers.Email == model.AspnetUsers.Email); if (user != null) { user.FirstName = model.FirstName; user.LastName = model.LastName; user.HireDate = model.HireDate; user.AspnetUsers.Email = model.AspnetUsers.Email; user.AspnetUsers.UserName = model.AspnetUsers.Email; user.MaxDays = model.MaxDays; database.SaveChanges(); succes = true; } else { message = "User not found"; } } catch (Exception ex) { message = ex.ToString(); } return(Json(new { successed = succes, Message = message, newUser = model }, JsonRequestBehavior.DenyGet)); }
public async Task <ActionResult> CreateUser(UserDetails model, string rolesID) { string message = ""; bool succes = false; var user = new ApplicationUser { UserName = model.AspnetUsers.Email, Email = model.AspnetUsers.Email }; var result = await UserManager.CreateAsync(user, "Password1!"); if (result.Succeeded) { await UserManager.AddToRoleAsync(user.Id, rolesID); HolidayManagementContext database = new HolidayManagementContext(); model.AspnetUsers = null; model.UserID = user.Id; database.UserDetails.Add(model); database.SaveChanges(); succes = true; } else { message = result.Errors.ToArray()[0]; } return(Json(new { successed = succes, Message = message, newUser = model }, JsonRequestBehavior.DenyGet)); }
public async Task <ActionResult> CreateUser(UserDetails model) { bool successed; string message = ""; var user = new ApplicationUser { UserName = model.AspNetUser.Email, Email = model.AspNetUser.Email }; var result = await UserManager.CreateAsync(user, "Password1!"); HolidayManagementContext newdb = new HolidayManagementContext(); if (result.Succeeded) { model.AspNetUser = null; model.UserID = user.Id; newdb.UserDetails.Add(model); newdb.SaveChanges(); successed = true; } else { message = "Email is used"; successed = false; } return(Json(new { successed = successed, Message = message, newUser = model }, JsonRequestBehavior.DenyGet)); }
public async Task <ActionResult> CreateUser(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { // For more information on how to enable account confirmation and password reset please visit http://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>"); HolidayManagementContext newHolidayManagementContext = new HolidayManagementContext(); UserDetails ud = new UserDetails() { FirstName = model.FirstName, LastName = model.LastName, UserID = user.Id }; newHolidayManagementContext.UserDetails.Add(ud); newHolidayManagementContext.SaveChanges(); return(Json(new { successed = true, messages = "No errors", newUser = ud }, JsonRequestBehavior.DenyGet)); } return(Json(new { successed = false, messages = "The email address is already in use!" }, JsonRequestBehavior.DenyGet)); //AddErrors(result); } return(Json(new { successed = false, messages = "Model state is invalid" }, JsonRequestBehavior.DenyGet)); }
//EditUser action public async Task <ActionResult> EditUser(UserDetails model, string ManageUserRoleID) { bool successedd = true; List <string> messagess = new List <string>(); HolidayManagementContext newDB = new HolidayManagementContext(); var user = newDB.UserDetails.FirstOrDefault(c => c.ID == model.ID); Regex reg = new Regex("^([A-Za-z]+['.]?[ ]?|[A-Za-z]+['-]?)+$", RegexOptions.Compiled); if (!reg.IsMatch(model.LastName) || (model.LastName == null)) { successedd = false; messagess.Add("Bad LastName\r\n"); } if (!reg.IsMatch(model.FirstName) || (model.FirstName == null)) { successedd = false; messagess.Add("Bad FirstName\r\n"); } if (successedd) { //email address validation var check = newDB.UserDetails.FirstOrDefault(d => d.AspNetUser.Email == model.AspNetUser.Email); if ((check == null) || (check.ID == model.ID)) { user.LastName = model.LastName; user.AspNetUser.Email = model.AspNetUser.Email; user.FirstName = model.FirstName; user.HireDate = model.HireDate; user.MaxDays = model.MaxDays; user.TeamId = model.TeamId; newDB.SaveChanges(); //get the list of the roles var list = newDB.Roles.ToList(); //define new role var name = list.FirstOrDefault(x => x.Id == ManageUserRoleID); //find user roles var roles = await UserManager.GetRolesAsync(user.AspNetUser.Id); //delete user role await UserManager.RemoveFromRolesAsync(user.UserID, roles.ToArray()); //add new role await UserManager.AddToRoleAsync(user.AspNetUser.Id, name.Name); } else { successedd = false; messagess.Add("Bad Email"); } } UserDetailsRepository userdr = new UserDetailsRepository(); return(Json(new { successed = successedd, messages = messagess, userLst = userdr.GetUsers() }, JsonRequestBehavior.DenyGet)); }
private int?maxdays() { HolidayManagementContext database = new HolidayManagementContext(); var manager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(ApplicationDbContext.Create())); var currentUser = manager.FindById(User.Identity.GetUserId()).Id; var user = database.UsersDetails.FirstOrDefault(i => i.UID == currentUser); var maxday = user.MaxDays; return(maxday); }
public async Task <ActionResult> AddHoliday(Vacation model) { HolidayManagementContext newdb = new HolidayManagementContext(); var user = newdb.Vacations; if (user != null) { } return(Json(new { successed = true, newUser = model }, JsonRequestBehavior.DenyGet)); }
public async Task <ActionResult> CreateUser(UserDetails model) { string message = "ok"; bool successed = true; var user = new ApplicationUser { UserName = model.AspnetUsers.Email, Email = model.AspnetUsers.Email }; var result = await UserManager.CreateAsync(user, "Password1!"); if (result.Succeeded) { using (HolidayManagementContext db = new HolidayManagementContext()) { if (model.AspnetUsers != null && model.AspnetUsers.Roles.Count() > 0) { var roleID = model.AspnetUsers.Roles.FirstOrDefault().RoleId; var role = db.Roles.FirstOrDefault(x => x.Id == roleID); if (role != null) { await UserManager.AddToRoleAsync(user.Id, role.Name); } } model.AspnetUsers = null; model.UserID = user.Id; // db.UserDetails.Add(model); db.UserDetailsModel.Add(model); try { db.SaveChanges(); } catch (Exception e) { successed = false; message = "Save Error"; } } } else { successed = false; message = result.Errors.ToArray()[0]; } var res = new { Success = successed, EMessage = message, newUser = model }; return(Json(res, JsonRequestBehavior.DenyGet)); }
public ActionResult Accept(Vacation data) { HolidayManagementContext database = new HolidayManagementContext(); bool success = false; var message = ""; var vacation = database.Vacations.FirstOrDefault(i => i.ID == data.ID); vacation.StateId = 2; database.SaveChanges(); success = true; var vacations = CreateVacationList(); return(Json(new { success = success, messages = message, vac = vacations }, JsonRequestBehavior.DenyGet)); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { //Create a new user and async password with username var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); //initiate a new instance of HolidayManagementContext HolidayManagementContext newDB = new HolidayManagementContext(); //Change input, store the new information in the UserDetails UserDetails newUser = new UserDetails { UserID = user.Id, LastName = model.LastName, FirstName = model.FirstName, }; //insert in db newDB.UserDetails.Add(newUser); //commit newDB.SaveChanges(); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); await UserManager.AddToRoleAsync(user.Id, "Employee"); // For more information on how to enable account confirmation and password reset please visit http://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>"); //if the register had succes, then go to the dashboard controller index method return(RedirectToAction("Index", "Dashboard")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
private int actuservacations() { HolidayManagementContext database = new HolidayManagementContext(); var manager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(ApplicationDbContext.Create())); var currentUser = manager.FindById(User.Identity.GetUserId()).Id; var user = database.UsersDetails.FirstOrDefault(i => i.UID == currentUser); var actualuservacations = database.Vacations.Where(i => i.StateId != 3 && i.UserId == user.ID); int sumdays = 0; foreach (var act in actualuservacations) { sumdays += act.Vacationsdays; } return(sumdays); }
public async Task <ActionResult> CreateUser(UserDetails data) { bool success = false; HolidayManagementContext database = new HolidayManagementContext(); var email = data.IdentityUser.Email; var message = ""; var user = new ApplicationUser { UserName = email, Email = email }; var result = await UserManager.CreateAsync(user, "Password1!"); var newUser = new UserDetails(); if (result.Succeeded) { data.UID = user.Id; newUser = data; if (data.IdentityUser != null && data.IdentityUser.Roles.Count() > 0) { var seged = data.IdentityUser.Roles.First().RoleId; var role = database.Roles.FirstOrDefault(r => r.Id == seged); if (role != null) { await UserManager.AddToRoleAsync(data.UID, role.Name); } } data.IdentityUser = null; database.UsersDetails.Add(data); database.SaveChanges(); success = true; } else { message = "Email already exist"; } return(Json(new { success = success, messages = message, newUser = newUser }, JsonRequestBehavior.DenyGet)); }
private List <Vacation> CreateVacationList() { List <Vacation> vacationlist = new List <Vacation> { }; VacationRepository vacations = new VacationRepository(); HolidayManagementContext database = new HolidayManagementContext(); var vac = vacations.GetVacations(); foreach (var v in vac) { if (v.StateId == 1 || v.StateId == 4) { vacationlist.Add(v); } } return(vacationlist); }
public async Task <ActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); await UserManager.AddToRoleAsync(user.Id, "Employee"); // For more information on how to enable account confirmation and password reset please visit http://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>"); //Sikeres bejentkezes-->Adatbazisba az adatok HolidayManagementContext database = new HolidayManagementContext(); UserDetails newUser = new UserDetails(); newUser.FirstName = model.FirstName; newUser.LastName = model.LastName; newUser.UserID = user.Id; database.UserDetails.Add(newUser); database.SaveChanges(); return(RedirectToAction("Index", "Dashboard")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <ActionResult> CreateUser(UserDetails model) { bool successed = false; string messages = ""; try { var user = new ApplicationUser { UserName = model.AspUser.Email, Email = model.AspUser.Email }; var result = await UserManager.CreateAsync(user, "Password1!"); if (result.Succeeded) { HolidayManagementContext newHolidayManagementContext = new HolidayManagementContext(); UserDetails newUser = new UserDetails() { FirstName = model.FirstName, LastName = model.LastName, UserId = user.Id, HireDate = model.HireDate, MaxDays = model.MaxDays }; newHolidayManagementContext.UserDetails.Add(newUser); newHolidayManagementContext.SaveChanges(); successed = true; } else { messages = result.Errors.First(); } } catch (Exception ex) { messages = ex.Message; } return(Json(new { successed = successed, messages = messages, newUser = model }, JsonRequestBehavior.DenyGet)); }
public ActionResult EditUser(UserDetails model) { bool successed; HolidayManagementContext newdb = new HolidayManagementContext(); var user = newdb.UserDetails.FirstOrDefault(x => x.AspNetUser.Email == model.AspNetUser.Email); if (user != null) { user.FirstName = model.FirstName; user.LastName = model.LastName; user.HireDate = model.HireDate; user.MaxDays = model.MaxDays; user.AspNetUser.Email = model.AspNetUser.Email; user.TeamId = model.TeamId; newdb.SaveChanges(); successed = true; } else { successed = false; } return(Json(new { successed = successed, newUser = model }, JsonRequestBehavior.DenyGet)); }
[HttpPost] //accessible only from HttpPost requests public async Task <ActionResult> CreateUser(UserDetails model, string ManageUserRoleID) { bool successedd = true; List <string> messages = new List <string>(); var user = new ApplicationUser { UserName = model.AspNetUser.Email, Email = model.AspNetUser.Email }; UserDetails newUser = new UserDetails { UserID = user.Id, LastName = model.LastName, FirstName = model.FirstName, HireDate = model.HireDate, MaxDays = model.MaxDays, TeamId = model.TeamId }; Regex reg = new Regex("^([A-Za-z]+['.]?[ ]?|[A-Za-z]+['-]?)+$", RegexOptions.Compiled); if (!reg.IsMatch(newUser.LastName) || (newUser.LastName == "") || (newUser.LastName == null)) { successedd = false; messages.Add("Bad LastName"); } if (!reg.IsMatch(newUser.FirstName) || (newUser.FirstName == "") || (newUser.FirstName == null)) { successedd = false; messages.Add("Bad FirstName\r\n"); } HolidayManagementContext newDB = new HolidayManagementContext(); if (successedd) { //action validate email address, var result = await UserManager.CreateAsync(user, "Password1!"); if (result.Succeeded) { //store the new user into the database. newDB.UserDetails.Add(newUser); //list roles var list = newDB.Roles.ToList(); //find our role var name = list.FirstOrDefault(x => x.Id == ManageUserRoleID); //add new role to user await UserManager.AddToRoleAsync(user.Id, name.Name); //commit newDB.SaveChanges(); successedd = true; model.UserID = user.Id; } else { //If the email is already taken return a proper error message foreach (var sztring in result.Errors) { messages.Add(sztring); } successedd = false; } } // JSON response containing 3 properties: return(Json(new { successed = successedd, messages = messages, newUser = model }, JsonRequestBehavior.DenyGet)); }
public ActionResult AddHoliday(Vacation model) { //ha a model userid null akkor a bejelentkezett usernek irod ha enm a kivalasztott usernek var loginedUserUserId = User.Identity.GetUserId(); UserDetailsRepository udr = new UserDetailsRepository(); var loginedUserId = udr.GetUserDetailsByUserId(loginedUserUserId); if (model.UserId == 0) { model.UserId = loginedUserId.ID; } BankHolidayRepository bhr = new BankHolidayRepository(); var holidayDays = bhr.GetBankHolidays(); string message = "ok"; bool successed = true; model.Date = DateTime.Now; model.StateId = 1; int businessDaysUntil = 0; try { businessDaysUntil = BusinessDaysUntil(model.StartDate, model.EndDate, holidayDays); } catch (ArgumentException e) { successed = false; message = e.Message; } model.NrDays = businessDaysUntil; using (HolidayManagementContext db = new HolidayManagementContext()) { int sumUsedDays = 0; sumUsedDays = (int?)((from c in db.Vacations where c.UserId == model.UserId select c.NrDays).Sum()) ?? 0; var userMaxDays = db.UserDetailsModel.FirstOrDefault(p => p.ID == model.UserId); if (userMaxDays.MaxDays - sumUsedDays > businessDaysUntil) { db.Vacations.Add(model); try { db.SaveChanges(); } catch (Exception e) { successed = false; message = "Save in Error" + e.ToString(); } } else { successed = false; message = "Selected user has not enough holiday days"; } } VacationRepository vacationR = new VacationRepository(); var res = new { Success = successed, EMessage = message, BusinessDaysUntil = businessDaysUntil }; return(Json(res, JsonRequestBehavior.DenyGet)); }
public ActionResult AddHoliday(Vacation data) { bool success = false; string message = ""; if (data.EndDate < data.StartDate) { success = false; message = "invalid date input"; } else { HolidayManagementContext database = new HolidayManagementContext(); Vacation vac = new Vacation(); vac = data; vac.Date = DateTime.Now; var userID = User.Identity.GetUserId(); if (!string.IsNullOrEmpty(userID)) { var manager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(ApplicationDbContext.Create())); var currentUser = manager.FindById(User.Identity.GetUserId()).Id; var user = database.UsersDetails.FirstOrDefault(i => i.UID == currentUser); if (data.UserId != 0) { vac.UserId = data.UserId; } else { vac.UserId = user.ID; } double uservacationdays = (vac.EndDate - vac.StartDate).TotalDays; int countdays = 0; var bankholidays = database.BankHolidays.Where(i => i.Month >= data.StartDate.Month && i.Month <= data.EndDate.Month); var day = data.StartDate; for (int i = 0; i <= uservacationdays; i++) { if (!(day.DayOfWeek == DayOfWeek.Saturday || day.DayOfWeek == DayOfWeek.Sunday)) { countdays++; } day = day.AddDays(1); } foreach (var bank in bankholidays) { if (bank.Month == data.StartDate.Month && bank.Day >= data.StartDate.Day) { if (bank.Month == data.EndDate.Month && bank.Day <= data.EndDate.Day) { countdays--; } } if (bank.Month > data.StartDate.Month && bank.Month < data.EndDate.Month) { countdays--; } } // var actualuservacations = database.Vacations.Where(i => i.StateId != 3 && i.UserId==vac.UserId); var actualuservacations = actuservacations(); if (user.MaxDays >= countdays + actualuservacations) { vac.StateId = 1; vac.Vacationsdays = countdays; database.Vacations.Add(vac); database.SaveChanges(); success = true; } else { message = "not enought day"; } } } var VR = CreateVacationList(); return(Json(new { success = success, messages = message, vac = VR }, JsonRequestBehavior.DenyGet)); }
public async Task <ActionResult> EditUser(UserDetails data) { HolidayManagementContext database = new HolidayManagementContext(); bool success = true; var message = " "; //var rol = new IdentityUserRole(); //var roled = rol.RoleId; //var a= database.UsersDetails.Find(data.IdentityUser.Id); var user = database.UsersDetails.FirstOrDefault(i => i.ID == data.ID); if (user.IdentityUser.Email == data.IdentityUser.Email) { user.FirstName = data.FirstName; user.LastName = data.LastName; user.MaxDays = data.MaxDays; user.TeamId = data.TeamId; user.HireDate = data.HireDate; var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(database)); var RolesForUser = await UserManager.GetRolesAsync(user.UID); if (RolesForUser.Count == 0) { var role = database.Roles.FirstOrDefault(r => r.Id == data.IdentityRole.Id); await UserManager.AddToRoleAsync(user.UID, role.Name); } else { UserManager.RemoveFromRole(user.UID, RolesForUser[0]); var role = database.Roles.FirstOrDefault(r => r.Id == data.IdentityRole.Id); // Manager.RemoveFromRole(data.ID,oldname); await UserManager.AddToRoleAsync(user.UID, role.Name); } database.SaveChanges(); } else { var useremail = await UserManager.FindByEmailAsync(data.IdentityUser.Email); if (useremail == null) { user.IdentityUser.Email = data.IdentityUser.Email; user.FirstName = data.FirstName; user.LastName = data.LastName; user.MaxDays = data.MaxDays; user.TeamId = data.TeamId; user.HireDate = data.HireDate; var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(database)); var RolesForUser = await UserManager.GetRolesAsync(user.UID); if (RolesForUser.Count == 0) { var role = database.Roles.FirstOrDefault(r => r.Id == data.IdentityRole.Id); await UserManager.AddToRoleAsync(user.UID, role.Name); } else { UserManager.RemoveFromRole(user.UID, RolesForUser[0]); var role = database.Roles.FirstOrDefault(r => r.Id == data.IdentityRole.Id); // Manager.RemoveFromRole(data.ID,oldname); await UserManager.AddToRoleAsync(user.UID, role.Name); } database.SaveChanges(); } else { message = "email already exist"; success = false; } } UserDetailsRepository USR = new UserDetailsRepository(); return(Json(new { success = success, messages = message, newUser = USR.GetUsers() }, JsonRequestBehavior.DenyGet)); }