//public abstract Response_SignIn User_SignIn(Request_SignIn request); public static Response_SignIn _User_SignIn(Request_SignIn request) { var result = new Response_SignIn(); DCT.DCT.Execute(c => { var emailHash = CryptographyHelper.StringToSha256String(request.Login, request.Password); //Проверка полученных данных if (string.IsNullOrWhiteSpace(emailHash) || string.IsNullOrWhiteSpace(request.Login)) { result.Comment = "Указан не корректный логин для авторизации"; result.StateEnum = Objects.Message.MessageState.NotSuccesfull; return; } var access = MainDbAPI.UserAccessByLogin(request.Login); if (access.LoginHash == emailHash) { result.Comment = "Пользователь успешно авторизирован!"; result.HashUID = emailHash; var session = MainDbAPI.UserSessionCreate(access.UserProfileId); result.SessionUID = session.Id.ToString(); result.StateEnum = Objects.Message.MessageState.Succesfull; } else { result.Comment = "Указаны не корректные логин или пароль"; result.StateEnum = Objects.Message.MessageState.NotSuccesfull; } }, continueExceptionMethod: (x, ex) => { result.Error = ex.ToString(); result.StateEnum = Objects.Message.MessageState.Error; }); return(result); }
//public abstract Response_Registration User_Registration(Request_Registration request); public static Response_Registration _User_Registration(Request_Registration request) { var result = new Response_Registration(); DCT.DCT.Execute(c => { var emailHash = CryptographyHelper.StringToSha256String(request.Email, request.Password); //Проверка полученных данных if (string.IsNullOrWhiteSpace(emailHash) || string.IsNullOrWhiteSpace(request.Email)) { result.Comment = "Указаны не корректные для регистрации логин или пароль"; result.StateEnum = Objects.Message.MessageState.NotSuccesfull; return; } //Проверка регистрации пользователя по почте var up = MainDbAPI.UserProfileByEmail(request.Email); if (up != null) { result.Comment = "Пользователь с указанным Email уже зарегистрирован"; result.StateEnum = Objects.Message.MessageState.NotSuccesfull; return; } //Создаю приложение var application = MainDbAPI.ApplicationAccessCreate(); //Создаю профиль var profile = MainDbAPI.UserProfileCreate(request, application.Id); //Создаю ключи авторизации - телефон, почта, email(базовый) //- Email var emailAccess = MainDbAPI.UserAccessCreate(profile.Id, profile.Email, emailHash); //- Phone var phoneAccess = MainDbAPI.UserAccessCreate(profile.Id, profile.Phone, phoneHash //- Login var loginAccess = MainDbAPI.UserAccessCreate(profile.Id, profile.Login, loginHash); //Создаю сессию var userSession = MainDbAPI.UserSessionCreate(profile.Id); c.SaveChanges(); result.Comment = "Пользователь успешно зарегистрирован!"; result.StateEnum = Objects.Message.MessageState.Succesfull; result.SessionUID = userSession.Id.ToString(); result.HashUID = emailHash; }, continueExceptionMethod: (x, ex) => { result.Error = ex.ToString(); result.StateEnum = Objects.Message.MessageState.Error; }); return(result); }