public ActionResult Update(data.employee employee, long id, Boolean isAdmin, Boolean isSeller) { employee.employeeId = id; employee.isActive = true; _employees.Update(employee); #region rols //get user users _user = new users(); data.user user = _user.GetOneByEmployeeId(id); //get list of rols by id user users_x_rols _users_x_rols = new users_x_rols(); var listUser_x_rols = _users_x_rols.GetAllByUserId(user.userId); data.user_x_rols user_x_rols = new data.user_x_rols(); user_x_rols.userId = listUser_x_rols.FirstOrDefault().userId; //this bs is because if I use _users_x_rols generete conflict with tha primary key users_x_rols deleteElemento = new users_x_rols(); if (isAdmin) { //check if exist the administrator rol if (listUser_x_rols.Where(x => x.rolId == 1).Count() == 0) { user_x_rols.rolId = 1; _users_x_rols.Insert(user_x_rols); } } else { //check if exist the administrator rol and check than exist one rol in tha user if (listUser_x_rols.Where(x => x.rolId == 1).Count() != 0 && (listUser_x_rols.Count() >= 2 || isSeller)) { deleteElemento.Delete(listUser_x_rols.Where(x => x.rolId == 1).FirstOrDefault()); } } if (isSeller) { //check if exist the seller rol if (listUser_x_rols.Where(x => x.rolId == 2).Count() == 0) { user_x_rols.rolId = 2; _users_x_rols.Insert(user_x_rols); } } else { //check if exist the seller rol and check than exist one rol in tha user if (listUser_x_rols.Where(x => x.rolId == 2).Count() != 0 && (listUser_x_rols.Count() >= 2 || isAdmin)) { deleteElemento.Delete(listUser_x_rols.Where(x => x.rolId == 2).FirstOrDefault()); } } #endregion rols return(RedirectToAction("Index")); }
public ActionResult Register(data.employee employee, String countryCode, Boolean isAdmin, Boolean isSeller) { employee.phone = "+" + countryCode + employee.phone; employee.registerDate = DateTime.Now; employee.isActive = true; _employees.Insert(employee); #region user //import AES data.AES aes = new data.AES(); //get keys for encrypt keys _keys = new keys(); data.key key = new data.key(); key = _keys.GetOneById(1); //create and encrypt user data.user user = new data.user(); users _user = new users(); var dateTime = DateTime.Now; String userName = CreatePassword(3) + dateTime.Day + dateTime.Month + dateTime.Second; String password = CreatePassword(6); user.employeeId = _employees.GetLastOrDefault().employeeId; user.userName = aes.Encriptar(userName, key.C_Key, key.C_IV); user.userPassword = aes.Encriptar(password, key.C_Key, key.C_IV); user.expireDate = DateTime.Now.AddDays(1); _user.Insert(user); //add rols data.user_x_rols user_x_rols = new data.user_x_rols(); users_x_rols _users_x_rols = new users_x_rols(); user_x_rols.userId = _user.GetLastOrDefault().userId; for (int i = 0; i < 2; i++) { if (isAdmin) { isAdmin = false; user_x_rols.rolId = 1; _users_x_rols.Insert(user_x_rols); } else if (isSeller) { isSeller = false; user_x_rols.rolId = 2; _users_x_rols.Insert(user_x_rols); } } #endregion user //send email with the credentials String from = WebConfigurationManager.AppSettings["email"]; String fromPassword = WebConfigurationManager.AppSettings["password"]; data.sendEmail.sendEmailOutlook(from, fromPassword, employee.email, "", "Credentials CRM", "Credentials for CRM:\nUser Name: " + userName + "\nPassword: "******"Index")); }