public IHttpActionResult Create(FacultyViewModel faculty) { if (!User.IsInRole(RoleNames.Admin)) { return(BadRequest("error")); } if (Framework.FacultyManager.FacultyIsAlreadyExist(faculty.Name)) { return(BadRequest("faculty")); } var newFacultyViewModel = new FacultyViewModel(); newFacultyViewModel.Name = faculty.Name; Faculty newFaculty = AutoMapper.Mapper.Map <Faculty>(newFacultyViewModel); if (faculty.Users[0].Email == faculty.Users[1].Email) { return(BadRequest()); } foreach (UserViewModel item in faculty.Users) { if (Framework.userManager.GetByEmail(item.Email) != null) { return(BadRequest()); } } Framework.FacultyManager.Create(newFaculty); foreach (UserViewModel uv in faculty.Users) { UserViewModel userViewModel = new UserViewModel(); userViewModel.Email = uv.Email; userViewModel.FacultyId = newFaculty.Id; userViewModel.PasswordSalt = HashDecoder.GenarateSalt(); userViewModel.Password = HashDecoder.ComputeHash(uv.Password, userViewModel.PasswordSalt); userViewModel.Roles_id = uv.Roles_id; userViewModel.Roles = Framework.RoleManager.GetById(uv.Roles_id); User user = AutoMapper.Mapper.Map <User>(userViewModel); Framework.userManager.Create(user); } return(Ok(newFaculty)); }
public IHttpActionResult Update(FacultyViewModel faculty) { if (!User.IsInRole(RoleNames.Admin)) { return(BadRequest("error")); } if (faculty.Users[0].Email == faculty.Users[1].Email) { return(BadRequest()); } Faculty updatedFaculty = Framework.FacultyManager.GetById(faculty.Id); if (Framework.FacultyManager.FacultyIsAlreadyExist(faculty.Name) && updatedFaculty.Name != faculty.Name) { return(BadRequest("faculty")); } updatedFaculty.Name = faculty.Name; foreach (UserViewModel item in faculty.Users) { User temporaryUpdatedUser = Framework.userManager.GetById(item.Id); if (Framework.userManager.GetByEmail(item.Email) != null && temporaryUpdatedUser.Email != item.Email) { return(BadRequest()); } } Framework.FacultyManager.Update(updatedFaculty); foreach (UserViewModel uv in faculty.Users) { User updatedUser = Framework.userManager.GetById(uv.Id); updatedUser.Email = uv.Email; if (updatedUser.Password != uv.Password) { updatedUser.PasswordSalt = HashDecoder.GenarateSalt(); updatedUser.Password = HashDecoder.ComputeHash(uv.Password, updatedUser.PasswordSalt); } Framework.userManager.Update(updatedUser); } updatedFaculty = Framework.FacultyManager.GetById(faculty.Id);//something weired var model = Mapper.Map <FacultyViewModel>(updatedFaculty); return(Ok(model)); }
static void DoCommands() { while (true) { Console.Write(">"); string command = Console.ReadLine(); if (command.Length > 0) { string[] commands = CommandRegex.Split(command); if (commands.Length > 0) { switch (commands[0]) { case "i": Greatings(); Console.WriteLine("Comands list:"); Console.WriteLine("____SHARED____"); Console.WriteLine("i - info;"); Console.WriteLine("ss - show/set settings; full format {c -ip hostIp -p hostPort -l lettersMax -c maxCalcClients}"); Console.WriteLine("____CLIENT____"); Console.WriteLine("c - connect as client; full format {c -ip hostIp -p hostPort}"); Console.WriteLine("d - disconect as client"); Console.WriteLine("____SERVER____"); Console.WriteLine("s - start server; full format {s -p port}"); Console.WriteLine("sd - start decodind"); break; case "d": Console.WriteLine("Disconect"); ServClient.Disconnect(); ServClient.Disconnect(); break; case "ss": Settings.parseSettings(commands); Console.WriteLine(Settings.ToString()); break; case "s": Settings.parseSettings(commands); Server.StartServer(Settings); break; // TODO добавить проверку на запущенность сервера case "sd": if (commands.Length > 1) { string[] result = Server.DoCalculations(HashDecoder.CreateMD5(commands[1])); foreach (string res in result) { Console.WriteLine(res); } } else { Console.WriteLine("not enought arguments"); } break; case "c": Settings.parseSettings(commands); Thread Client = new Thread(new ThreadStart(ServClient.Connect)); Client.Start(); break; default: Console.WriteLine("unknown command (i for list of commands)"); break; } } } } }
public bool IsPasswordValid(User user, string password) { return((bool)HashDecoder.VerifyHash(password, user.Password, user.PasswordSalt)); }