public ActionResult DeleteVacation(Vacation vacation, int? page,String calendar) { Vacation vac = (Vacation)db.FindById(vacation.VacationPeriodId); double numDays = (vac.DateTo - vac.DateFrom).TotalDays; radniDaniZaBrisanje = GetWorkDays(vac.DateFrom, vac.DateTo); UsersService users = new UsersService(); User u = (User)users.FindUserByUsername(HttpContext.User.Identity.Name); if (!vac.IsSickLeave) { int days = u.VacationDays + radniDaniZaBrisanje; u.VacationDays = days; } users.Edit(u); db.DeleteVacation(vac.VacationPeriodId); if (calendar != null && calendar.Equals("true")) { return RedirectToAction("initHolidays", "LoadHolidays"); } else { return SeeVacationsDelete(page); } }
///<summary> ///For Admin, to confirm user registration. Also, sending mail to user. ///</summary> public ActionResult ConfirmRegistration(String id, int? page) { UsersService users = new UsersService(); User user = (User)users.FindUserByUsername(id); if (user != null) { if (user.IsUserRegistered) { user.IsUserRegistered = false; Contact(user, false); } else { user.IsUserRegistered = true; Contact(user, true); } users.Edit(user); } return ShowAllUsers(page); }
public ActionResult LoginPage(LoginViewModel user) { if (user.Password == null || user.UserName == null) { return View(); } UsersService userService = new UsersService(); User currentUser = userService.FindUserByUsername(user.UserName); currentUserOffline = currentUser.Username; if (currentUser == null) { ViewBag.Error = "Wrong username..!"; return View(); } else { if (!currentUser.Password.Equals(user.Password)) { ViewBag.Error = "Wrong password combination!"; return View(); } if (!currentUser.IsUserRegistered) { if (!currentUser.IsUserAdmin) { ViewBag.Error = "Your account isn't approved yet.Check your email."; return View(); } } byte[] tempPicture = currentUser.ProfilePicture; currentUser.ProfilePicture = null; // set picture to null, for JsonConverter. ICollection<Vacation> tempVacation = currentUser.Vacations; ICollection<Holiday> tempHolidays = currentUser.Holidays; ICollection<ChatRoom> tempChatRoom = currentUser.ChatRooms; ICollection<ChatRoomMessage> tempChatRoomMessage = currentUser.ChatRoomMessages; ICollection<Notification> tempNotification = currentUser.Notifications; currentUser.Vacations = null; currentUser.Holidays = null; currentUser.ChatRooms = null; currentUser.ChatRoomMessages = null; currentUser.Notifications = null; FormsAuthenticationTicket fat = new FormsAuthenticationTicket(1, user.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, JsonConvert.SerializeObject(currentUser, Formatting.None, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }) ); HttpCookie ck = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(fat)); ck.Expires = DateTime.Now.AddMinutes(15); Response.Cookies.Add(ck); // currentUser.LastLoginDate = DateTime.Now; currentUser.ProfilePicture = tempPicture; currentUser.Holidays = tempHolidays; currentUser.Vacations = tempVacation; currentUser.ChatRooms = tempChatRoom; currentUser.ChatRoomMessages = tempChatRoomMessage; currentUser.Notifications = tempNotification; userService.Edit(currentUser); ViewBag.Error = ""; return RedirectToRoute("home"); } }
public ActionResult Logout() { UsersService userService = new UsersService(); User currentUser = userService.FindUserByUsername(currentUserOffline); if (ChatController.usersOnline != null) { foreach (UsersLite us in ChatController.usersOnline) { if (us.username == currentUserOffline) { us.activity = true; ChatController.usersOnline.First(d => d.username == currentUserOffline).activity = false; DateTime dateNow=DateTime.Now; ChatController.usersOnline.First(d => d.username == currentUserOffline).lastSeenOn = dateNow.ToString("yyyy-MM-dd"); currentUser.LastLoginDate = dateNow; userService.Edit(currentUser); } ViewBag.users = ChatController.usersOnline; } } FormsAuthentication.SignOut(); HttpCookie ck = Request.Cookies[FormsAuthentication.FormsCookieName]; ck.Expires = DateTime.Now; return RedirectToRoute("home"); }
private void revertOldVacationDays(Holiday h) { TestService vacationService = new TestService(); UsersService users = new UsersService(); List<Vacation> vacations = vacationService.GetVacations().ToList(); double addMoreDaysToVacation = 0; foreach (Vacation v in vacations) { if (v.IsSickLeave) continue; //ako se praznik nalazi ceo izmedju, povecaj dane za sve. if (h.DateFrom >= v.DateFrom && h.DateFrom <= v.DateTo) { if (h.DateTo <= v.DateTo) { addMoreDaysToVacation = (h.DateTo - h.DateFrom).TotalDays; } else { addMoreDaysToVacation = (v.DateTo - h.DateFrom).TotalDays; } } else if (h.DateFrom <= v.DateFrom && h.DateTo >= v.DateTo) { addMoreDaysToVacation = (v.DateTo - v.DateFrom).TotalDays; } else if (h.DateFrom <= v.DateFrom && h.DateTo <= v.DateTo && h.DateTo >= v.DateFrom) { addMoreDaysToVacation = (h.DateTo - v.DateFrom).TotalDays; } if (addMoreDaysToVacation > 0) { User u = (User)users.FindById(v.UserId); u.VacationDays -= Convert.ToInt32(addMoreDaysToVacation); users.Edit(u); } } }
public ActionResult ChangePassPage(ChangePasswordViewModel model) { UsersService users = new UsersService(); String currentUsername = User.Identity.Name; User user = (User)users.FindUserByUsername(currentUsername); if (user.Password.Equals(model.currentPassword)) { if (model.newPassword.Equals(model.confirmNewPass)) { user.Password = model.confirmNewPass; users.Edit(user); } else { ViewBag.Error = "Password didn't match!!!"; return View(model); } } else { ViewBag.Error = "Password incorect!!"; return View(model); } return RedirectToAction("Index", "Home"); }
public ActionResult EditPage(EditAccountViewModel model, HttpPostedFileBase file) { UsersService users = new UsersService(); String currentUsername = User.Identity.Name; User user = (User)users.FindUserByUsername(currentUsername); if (user != null) { if (!currentUsername.Equals(user.Username)) { return RedirectToAction("Index", "Home"); } } User checkForMail = (User)users.FindUserByEmail(model.Email); if (checkForMail == null || checkForMail.Email.Equals(user.Email)) { user.FirstName = model.FirstName; user.LastName = model.LastName; user.Email = model.Email; if (!model.removeImage) { if (file != null) { using (MemoryStream ms = new MemoryStream()) { file.InputStream.CopyTo(ms); byte[] array = ms.GetBuffer(); if (array.Length > 55000) { ViewBag.Error = "Image size can't be more than ~50Kb!!"; return View(model); } user.ProfilePicture = array; } } } else { user.ProfilePicture = null; } users.Edit(user); return RedirectToAction("Index", "Home"); } else { ViewBag.Error = "Email address already exist!!"; return View(model); } }
/// <summary> /// Reset all vacation days for registered users to 20. /// </summary> public ActionResult ResetVacationDays() { UsersService userService = new UsersService(); List<User> users = userService.FindAll(); foreach (User user in users) { user.VacationDays = 20; userService.Edit(user); } return RedirectToAction("ShowAllUsers"); }
public ActionResult RegistracijaOdmora(Vacation vacation) { int vikend = 0; flag = 0; UsersService users = new UsersService(); User u = (User)users.FindById(vacation.UserId); String datum = DateTime.Now.ToString("yyyy-MM-dd"); ViewBag.Datum = datum; Double numDays = (vacation.DateTo - vacation.DateFrom).TotalDays; List<Vacation> vacations = db.GetVacationsForCurrentUser(u.UserId); numDays -= DaysIsntCountHoliday(vacation); brojacRadnihDanaBezVikenda = GetWorkDays(vacation.DateFrom, vacation.DateTo); vikend = Convert.ToInt32(numDays) - brojacRadnihDanaBezVikenda; numDays -= vikend; if (vacation.IsSickLeave && (DateTime.Parse(vacation.DateTo.ToString("yyyy-MM-dd")) > (DateTime.Parse(datum))) && (DateTime.Parse(vacation.DateTo.ToString("yyyy-MM-dd")) > (DateTime.Parse(vacation.DateFrom.ToString("yyyy-MM-dd"))))) { int brojac = 0; if (ModelState.IsValid) { foreach (Vacation v in vacations) { if ((vacation.DateFrom >= v.DateFrom && vacation.DateFrom < v.DateTo) || (vacation.DateTo >= v.DateFrom && vacation.DateTo <= v.DateTo) || (vacation.DateFrom <= v.DateFrom && vacation.DateTo >= v.DateTo)) { flag = 1; } else { brojac++; } } if (brojac == vacations.Count) { flag = 0; vacation.DateFrom = vacation.DateFrom; vacation.DateTo = vacation.DateTo; db.AddVacation(vacation); return RedirectToAction("initHolidays", "LoadHolidays"); } else { flag = 1; return RedirectToAction("RegistracijaOdmora", new { parameterdatum1 = vacation.DateFrom.ToString("yyyy-MM-dd"), parameterdatum2 = vacation.DateTo.ToString("yyyy-MM-dd") }); } } return View(); } else { if (Convert.ToInt32(numDays) <= u.VacationDays && (DateTime.Parse(vacation.DateTo.ToString("yyyy-MM-dd")) > (DateTime.Parse(datum))) && (DateTime.Parse(vacation.DateTo.ToString("yyyy-MM-dd")) > (DateTime.Parse(vacation.DateFrom.ToString("yyyy-MM-dd"))))) { int brojac = 0; if (ModelState.IsValid) { foreach (Vacation v in vacations) { if ((vacation.DateFrom >= v.DateFrom && vacation.DateFrom < v.DateTo) || (vacation.DateTo >= v.DateFrom && vacation.DateTo <= v.DateTo) || (vacation.DateFrom <= v.DateFrom && vacation.DateTo >= v.DateTo)) { flag = 1; } else { brojac++; } } if (brojac == vacations.Count) { flag = 0; vacation.DateFrom = vacation.DateFrom; vacation.DateTo = vacation.DateTo; db.AddVacation(vacation); int days = u.VacationDays - Convert.ToInt32(numDays); u.VacationDays = days; users.Edit(u); return RedirectToAction("initHolidays", "LoadHolidays"); } else { flag = 1; return RedirectToAction("RegistracijaOdmora", new { parameterdatum1 = vacation.DateFrom.ToString("yyyy-MM-dd"), parameterdatum2 = vacation.DateTo.ToString("yyyy-MM-dd") }); } } return View(); } else { return RedirectToAction("RegistracijaOdmora", new { parameterdatum1 = vacation.DateFrom.ToString("yyyy-MM-dd"), parameterdatum2 = vacation.DateTo.ToString("yyyy-MM-dd") }); } //provera } }
public ActionResult EditVacation(Vacation vacation, int? page,String calendar) { int vikend1 = 0; int vikend2 = 0; int vikend3 = 0; int vikend4 = 0; int razlikaZaVikendDane = 0; int razlikaZaVikendDanePocetak = 0; brojacRadnihDanaZaEditBezVikenda = 0; brojacRadnihDanaZaEditBezVikendaFrom = 0; String datum = DateTime.Now.ToString("yyyy-MM-dd"); ViewBag.Datum = datum; UsersService users = new UsersService(); User u = (User)users.FindById(vacation.UserId); Double numDays = (vacation.DateTo - vacation.DateFrom).TotalDays; Double povecavanjeOdmora = (vacation.DateTo - datumProveraZaEdit).TotalDays; Double povecavanjeOdmoraZaPocetak = (vacation.DateFrom - datumProveraZaEditPocetak).TotalDays; Vacation oldVacation = (Vacation)db.FindById(vacation.VacationPeriodId); List<Vacation> vacations = db.GetVacationsForCurrentUser(u.UserId); double oldHolidayVacationCount = DaysIsntCountHoliday(oldVacation); double totalHolidayDays = oldHolidayVacationCount - DaysIsntCountHoliday(vacation); numDays += totalHolidayDays; if (vacation.DateTo > datumProveraZaEdit) { brojacRadnihDanaZaEditBezVikenda = GetWorkDays(datumProveraZaEdit, vacation.DateTo); vikend1 = Convert.ToInt32(povecavanjeOdmora) - brojacRadnihDanaZaEditBezVikenda; razlikaZaVikendDane += vikend1; } else if (vacation.DateTo <= datumProveraZaEdit) { brojacRadnihDanaZaEditBezVikenda = -(GetWorkDays(vacation.DateTo, datumProveraZaEdit)); vikend2 = -(Convert.ToInt32(povecavanjeOdmora)) + brojacRadnihDanaZaEditBezVikenda; razlikaZaVikendDane -= vikend2; } if (vacation.DateFrom > datumProveraZaEditPocetak) { brojacRadnihDanaZaEditBezVikendaFrom = GetWorkDays(datumProveraZaEditPocetak, vacation.DateFrom); vikend3 = (Convert.ToInt32(povecavanjeOdmoraZaPocetak)) - brojacRadnihDanaZaEditBezVikendaFrom; razlikaZaVikendDanePocetak -= vikend3; } else { brojacRadnihDanaZaEditBezVikendaFrom = -(GetWorkDays(vacation.DateFrom, datumProveraZaEditPocetak)); vikend4 = -(Convert.ToInt32(povecavanjeOdmoraZaPocetak)) + brojacRadnihDanaZaEditBezVikendaFrom; razlikaZaVikendDanePocetak += vikend4; } if (vacation.IsSickLeave && (DateTime.Parse(vacation.DateTo.ToString("yyyy-MM-dd")) > (DateTime.Parse(datum))) && (DateTime.Parse(vacation.DateTo.ToString("yyyy-MM-dd")) > (DateTime.Parse(vacation.DateFrom.ToString("yyyy-MM-dd"))))) { int brojac = 0; foreach (Vacation v in vacations) { if (vacation.VacationPeriodId == v.VacationPeriodId) { brojac++; continue; } if ((vacation.DateFrom >= v.DateFrom && vacation.DateFrom < v.DateTo) || (vacation.DateTo >= v.DateFrom && vacation.DateTo <= v.DateTo) || (vacation.DateFrom <= v.DateFrom && vacation.DateTo >= v.DateTo)) { flag = 1; } else { brojac++; } } if (brojac == vacations.Count) { flag = 0; db.EditVacation(vacation); if (calendar != null && calendar.Equals("true")) { return RedirectToAction("initHolidays", "LoadHolidays"); } else { return SeeVacations(page); } } else { flag = 1; if (calendar != null && calendar.Equals("true")) { return RedirectToAction("EditVacation", new { vacationId = vacation.VacationPeriodId, calendar = "true" }); } else { return RedirectToAction("EditVacation", new { vacationId = vacation.VacationPeriodId }); } } } else { if (Convert.ToInt32(brojacRadnihDanaZaEditBezVikenda - brojacRadnihDanaZaEditBezVikendaFrom)> u.VacationDays) { daniZaProveruZaEdit = brojacRadnihDanaZaEditBezVikenda - brojacRadnihDanaZaEditBezVikendaFrom; flagZaPozivEdita = 1; } if (Convert.ToInt32(brojacRadnihDanaZaEditBezVikenda - brojacRadnihDanaZaEditBezVikendaFrom) <= u.VacationDays && (DateTime.Parse(vacation.DateTo.ToString("yyyy-MM-dd")) > (DateTime.Parse(datum))) && (DateTime.Parse(vacation.DateTo.ToString("yyyy-MM-dd")) > (DateTime.Parse(vacation.DateFrom.ToString("yyyy-MM-dd"))))) { int brojac = 0; if (ModelState.IsValid) { foreach (Vacation v in vacations) { if (vacation.VacationPeriodId == v.VacationPeriodId) { brojac++; continue; } if ((vacation.DateFrom >= v.DateFrom && vacation.DateFrom < v.DateTo) || (vacation.DateTo >= v.DateFrom && vacation.DateTo <= v.DateTo) || (vacation.DateFrom <= v.DateFrom && vacation.DateTo >= v.DateTo)) { flag = 1; } else { brojac++; } } if (brojac == vacations.Count) { flag = 0; int days = u.VacationDays - Convert.ToInt32(numDays) + daniZaVracanje + razlikaZaVikendDane + razlikaZaVikendDanePocetak; u.VacationDays = days; users.Edit(u); db.EditVacation(vacation); daniZaVracanje = Convert.ToInt32(numDays); if (calendar != null && calendar.Equals("true")) { return RedirectToAction("initHolidays", "LoadHolidays"); } else { return SeeVacations(page); } } else { flag = 1; if (calendar != null && calendar.Equals("true")) { return RedirectToAction("EditVacation", new { vacationId = vacation.VacationPeriodId, calendar = "true" }); } else { return RedirectToAction("EditVacation", new { vacationId = vacation.VacationPeriodId }); } } } return View(); } else { if (calendar != null && calendar.Equals("true")) { return RedirectToAction("initHolidays", "LoadHolidays"); } else { flagZaPozivEdita = 1; return RedirectToAction("EditVacation", new { vacationId = vacation.VacationPeriodId, calendar = "true" }); } } } }