public FrmUserDetail() { InitializeComponent(); user = new Objects.User(); binding_data(); form_type = "new"; }
public static Objects.User logInUser(string userName, string userPass) { using (var db = new edShortenerModel()) { var cryptedPass = cryptDecrypt.cryptPass(userPass); var queryResult = from User in db.Users where User.userName == userName && User.userPass == cryptedPass select User; if (queryResult.Count() == 1) { Objects.User user = new Objects.User(); var userResult = queryResult.FirstOrDefault(); user.id = userResult.idUser; user.name = userResult.userName; user.userUrlList = new UserUrlList(); user.userUrlList.urlLists = new List <TableShortedUrl>(); userResult.ShortedUrls.ToList().ForEach(url => { user.userUrlList.urlLists.Add(new TableShortedUrl { id = url.idShortedUrl, created = url.created, longUrl = url.longUrl, shortedUrl = url.shortedUrl1, pageStatus = url.pageStatus, lastStatusChange = url.lastStatusChange, clicks = url.Clicks.Where(click => click.created >= DateTime.Now.AddYears(-100)).Count() }); }); return(user); } } return(null); }
public FrmUserDetail(Objects.User input_user) { InitializeComponent(); user = input_user; binding_data(); form_type = "edit"; }
public static int updateProfile(Objects.User user, bool changePass) { using (var db = new edShortenerModel()) { try { var original = db.Users.Find(user.id); original.dateB = user.dateB; original.gender = user.gender; original.imgScr = user.imgScr == null ? null : cryptDecrypt.cryptPass(user.imgScr); original.mail = user.mail; original.phone = user.phone; original.realName = user.realName; if (changePass) { string cryptedPass = cryptDecrypt.cryptPass(user.newPass1); original.userPass = cryptedPass; } return(db.SaveChanges()); } catch (Exception e) { return(0); } } }
/// <summary> /// Save User properties to settings /// </summary> /// <param name="user"> User Object</param> /// public static void SynchronizeUser(string userId = null, bool fetch = true) { Objects.User user = new Objects.User { Id = userId ?? Properties.Settings.Default.UserId }; if (fetch) { QueryController.User.UpdateSettings(userId); if (Validation.IsTokenValid(user.Id)) { var response = QueryController.User.Get(user); // Check response StatusCode if (response.StatusCode == 200) { user = (Objects.User)response.Data; Properties.Settings.Default.UserId = user.Id; } } } var userEncoded = Object.ToString(user); // Update Store Infos Properties.Settings.Default.User = userEncoded; Properties.Settings.Default.Save(); }
/// <summary> /// Updates user's imageBlobId /// </summary> public Response UpdateImage(Objects.User user, Objects.File file) { Response response = new Response(); try { Database.Connection.Open(); string Query = " UPDATE Users SET ImageBlobId=@ImageBlobId WHERE UserId=@UserId "; MySqlCommand Command = new MySqlCommand(Query, Database.Connection); Command.Parameters.AddWithValue("UserId", user.Id); Command.Parameters.AddWithValue("ImageBlobId", file.BlobId); Command.ExecuteNonQuery(); Database.Connection.Close(); // Updated Successfully response.StatusCode = 200; response.Data = user; } catch (MySqlException e) { Logger.QueryError(e, "User", "Updating Image"); // Status Code response.StatusCode = 500; } //Close Connection if Open if (Database.Connection.State == ConnectionState.Open) { Database.Connection.Close(); } return(response); }
void UserList_Control_UCMain_Edit_Clicked(object sender, EventArgs e) { if (bandedGridView1.FocusedRowHandle < 0) { return; } try { Objects.User user = (Objects.User)bandedGridView1.GetRow(bandedGridView1.FocusedRowHandle); if (user == null) { MessageBox.Show("Chưa chọn nhân viên", "Thông báo lỗi"); return; } using (var uow = new UnitOfWork()) { //Object.NhanVien getRecords = new XPCollection<Object.NhanVien>(uow, CriteriaOperator.Parse("Oid = ?", employee_id)).FirstOrDefault(); Objects.User getRecords = uow.GetObjectByKey <Objects.User>(user.Oid); if (getRecords == null) { return; } FrmUserDetail f = new FrmUserDetail(getRecords); f.ShowDialog(); } } catch (Exception ex) { MessageBox.Show("Đã có lỗi không mong muốn sảy ra/n" + ex.ToString(), "Thông báo lỗi"); } }
/// <summary> /// Authentificate User /// </summary> /// <param name="pin"> User PIN</param> /// <returns></returns> public Response PinLogin(Objects.User user) { //Props int statusCode = 200; Response response = new Response(); try { //Open Connection Database.Connection.Open(); //Query string loginQuery = "SELECT UserId FROM Users WHERE PinCode=@PinCode"; //Execute Query With Connection => DataReader MySqlCommand Command = new MySqlCommand(loginQuery, Database.Connection); //Parameters For Security Purpose Command.Parameters.AddWithValue("PinCode", user.PinCode); MySqlDataReader DataReader = Command.ExecuteReader(); //Read Data while (DataReader.Read()) { user.Id = DataReader["UserId"].ToString(); } if (!DataReader.HasRows) { // Bad Request statusCode = 400; } else { // OK statusCode = 200; } //Close Connection Database.Connection.Close(); //Response response.StatusCode = statusCode; response.Data = user; } catch (MySqlException e) { Logger.QueryError(e, "User", "PIN Login"); // Internal Error : response.StatusCode = 500; } //Close Connection if Open if (Database.Connection.State == ConnectionState.Open) { Database.Connection.Close(); } return(response); }
/// <summary> /// Authentificate User /// </summary> /// <param name="email"> User Email</param> /// <param name="password"> User Password </param> /// <returns></returns> public Response Login(Objects.User user) { //Props int statusCode = 200; Response response = new Response(); try { /* Connection & Query */ Database.Connection.Open(); string loginQuery = "SELECT UserId FROM Users WHERE Email=@Email AND Password=@Password"; //Execute Query With Connection => DataReader MySqlCommand Command = new MySqlCommand(loginQuery, Database.Connection); Command.Parameters.AddWithValue("Email", user.Email); Command.Parameters.AddWithValue("Password", user.Password); MySqlDataReader DataReader = Command.ExecuteReader(); while (DataReader.Read()) { user.Id = DataReader["UserId"].ToString(); } if (!DataReader.HasRows) { // Bad Request statusCode = 400; } else { // OK statusCode = 200; } Database.Connection.Close(); /* Response */ response.StatusCode = statusCode; response.Data = user; } catch (MySqlException e) { /* Errors */ Logger.QueryError(e, "User", "Login"); response.StatusCode = 500; } if (Database.Connection.State == ConnectionState.Open) { Database.Connection.Close(); } return(response); }
internal static Objects.User getFullUserByGuid(Guid guid) { using (var db = new edShortenerModel()) { var original = db.Users.Find(guid); Objects.User user = new Objects.User(); user.dateB = original.dateB; user.gender = original.gender; user.id = original.idUser; user.imgScr = original.imgScr; user.mail = original.mail; user.name = original.userName; user.phone = original.phone; user.realName = original.realName; return(user); } }
internal static bool verifyOldPass(Objects.User user) { using (var db = new edShortenerModel()) { var queryResult = from User in db.Users where User.idUser == user.id select User; if (queryResult.Count() == 1) { var userResult = queryResult.FirstOrDefault(); return(userResult.userPass == cryptDecrypt.cryptPass(user.oldPasss)); } return(false); } }
private void ULogin() { Objects.User obj = new Objects.User(); obj.Email = txtEmail.Text.ToString(); obj.Password = txtPassword.Password.ToString(); int vcheck = new BLL.User().ULogin(obj); if (vcheck > 0) { ControlPanel Cp = new ControlPanel(); Cp.Show(); Close(); } else { MessageBox.Show("Please enter valid email or password"); } }
/// <summary> /// Delete User /// </summary> public Response Delete(Objects.User user) { //Props int statusCode = 204; user.Id = user.Id ?? Properties.Settings.Default.UserId; Response response = new Response(); try { //Open Connection Database.Connection.Open(); //Query string Query = "DELETE FROM Users WHERE UserId=@UserId "; //Execute Query With Connection => DataReader MySqlCommand Command = new MySqlCommand(Query, Database.Connection); Command.Parameters.AddWithValue("UserId", user.Id); //Execute Command Command.ExecuteNonQuery(); //Close Connection Database.Connection.Close(); //[HTTP Status Code] OK : Successfully Deleted : Returning No Content statusCode = 204; response.StatusCode = statusCode; } catch (MySqlException e) { Logger.QueryError(e, "User", "Getting User"); // Internal Error : response.StatusCode = 500; } //Close Connection if Open if (Database.Connection.State == ConnectionState.Open) { Database.Connection.Close(); } return(response); }
private void URegistration() { Objects.User obj = new Objects.User(); obj.UserID = new BLL.User().GetMaxID(); obj.FirstName = textBoxFirstName.Text; obj.LastName = textBoxLastName.Text; obj.Email = textBoxEmail.Text; obj.Password = passwordBox1.Password; obj.Address = textBoxAddress.Text; obj.Country = textBoxCountry.Text; int vcheck = new BLL.User().URegistration(obj); if (vcheck == 1) { errormessage.Text = "You have Registered successfully."; Reset(); } }
private void RegistrationButton_Click(object sender, EventArgs e) { TNTServicesClient client = new TNTServicesClient("BasicHttpBinding_ITNTServicesContracts"); User user = new Objects.User() { Address = StreetAddressTextBox.Text, City = CityTextBox.Text, EmailAddress = EmailAddressTextBox.Text, Name = NameTextBox.Text, PhoneNumber = PhoneNumberTextBox.Text, State = StateTextBox.Text, Zip = ZipTextBox.Text }; Objects.License license = client.RequestLicense(user, new Guid(ApplicationIDComboBox.SelectedItem.ToString())); Clipboard.SetText(license.Key); MessageBox.Show(this, string.Format("{0}\n\nAlso copied to clipboard.", license.Key), "License Key"); }
public static bool IsUserAllowed(Objects.User user, PermissionAlertType alertType = PermissionAlertType.None, Form form = null, RequiredPermission reqPermission = RequiredPermission.Admin) { if (user == null) { return(false); } bool isAllowed = true; switch (reqPermission) { case RequiredPermission.Admin: if (user.Role.ToLower() != "admin") { isAllowed = false; } break; } //Alert User if (!isAllowed) { switch (alertType) { case PermissionAlertType.Alert: Alert.Show("Limited Permission", "You must be an Admin to perform this action.", Alert.AlertType.Warning); break; case PermissionAlertType.Message: MessageParser.Permission(caller: form); break; case PermissionAlertType.None: break; } } return(isAllowed); }
bool do_login() { using (var uow = new UnitOfWork()) { Objects.User getSingleRec = new XPCollection <Objects.User>(uow, CriteriaOperator.Parse("username = ? and password = ?", TextUsername.Text, TextPassword.Text)).FirstOrDefault(); if (getSingleRec != null) { Global.User = getSingleRec; return(true); } else { if (TextUsername.Text == "admin" && TextPassword.Text == "admin") { Objects.User supper_admin = new Objects.User(); supper_admin.username = "******"; Global.User = supper_admin; return(true); } } } return(false); }
public int URegistration(Objects.User obj) { return(new DAL.User().URegistration(obj)); }
public HomeModule() { if (Context != null) { this.RequiresAuthentication(); } Get["test2"] = parameters => { try { this.RequiresClaims(new[] { "Admin" }); string s = "a"; return(s); } catch (Exception e) { return(e.Message); } }; Get["/"] = parameters => { //var currentUser = "******"; //try //{ // currentUser = Context.CurrentUser.UserName; //} //catch(Exception e) //{ //} var currentUser = Context.CurrentUser != null ? Context.CurrentUser.UserName : string.Empty; var guid = UserFunctions.getGuidByName(currentUser); if (guid != null) { Objects.User u = new Objects.User(); u.userUrlList = TableFunctions.getUserList("all", guid); return(View["Index", u]); } else { return("error"); } }; #region table index Get["/table/{date}"] = parameters => { var currentUser = Context.CurrentUser.UserName; var guid = UserFunctions.getGuidByName(currentUser); if (guid != null) { UserUrlList list = TableFunctions.getUserList(parameters.date, guid); return(View["_TableUrl", list]); } else { return("error"); } }; Get["/tableDetails/{urlObjectId}"] = parameters => { int urlObjId = parameters.urlObjectId; UrlObject urlObj = TableFunctions.getUrlTableDetails(urlObjId); if (urlObj != null) { return(View["_ShortedUrlInfo", urlObj]); } else { return("error"); } }; #endregion #region user #region logIN Get["/login"] = parameter => { dynamic model = new ExpandoObject(); model.Errored = Request.Query.error.HasValue; return(View["logIn", model]); }; Post["/login"] = parameter => { string name = Request.Form["userName"]; string pass = Request.Form["userPass"]; string remember = Request.Form["rememberMe"]; Objects.User user = UserFunctions.logInUser(name, pass); if (user != null) { DateTime?expiry = null; if (!string.IsNullOrEmpty(remember)) { expiry = DateTime.Now.AddDays(7); } return(this.LoginAndRedirect(user.id, expiry)); } else { return(Context.GetRedirect("~/login?error=true&username="******"/logout"] = parameter => { return(this.LoginAndRedirect(UserFunctions.getDummyCurrentUser().guid)); }; #endregion #region register Get["/register"] = parameter => { dynamic model = new ExpandoObject(); model.Errored = Request.Query.error.HasValue; return(View["register", model]); }; Post["/register"] = parameter => { string name = Request.Form["userName"]; string pass = Request.Form["userPass"]; string pass2 = Request.Form["userPass"]; string remember = Request.Form["rememberMe"]; Objects.User user = UserFunctions.registerUser(name, pass, pass2); if (user != null) { DateTime?expiry = null; if (!string.IsNullOrEmpty(remember)) { expiry = DateTime.Now.AddDays(7); } return(this.LoginAndRedirect(user.id, expiry)); } else { return(Context.GetRedirect("~/register?error=true&username="******"profile"] = parameters => { var currentUser = Context.CurrentUser.UserName; var guid = UserFunctions.getGuidByName(currentUser); if (guid != null) { Objects.User u = UserFunctions.getFullUserByGuid(guid); u.userUrlList = TableFunctions.getUserList("all", guid); return(View["profile", u]); } else { return("error"); } }; Post["/profile"] = parameter => { Objects.User user = this.Bind(); var changePass = Request.Form["changePass"]; var currentUser = Context.CurrentUser.UserName; var guid = UserFunctions.getGuidByName(currentUser); user.id = guid; user.name = currentUser; if (changePass == "1") { if (!string.IsNullOrEmpty(user.newPass1) && user.newPass1 == user.newPass2) { if (UserFunctions.verifyOldPass(user)) { if (UserFunctions.updateProfile(user, true) > 0) { return(View["profile", user]); } else { user.error = "Error Ocurred while updating profile"; return(View["profile", user]); } } else { user.error = "Old password was incorrect"; return(View["profile", user]); } } else { user.error = "Password does not match"; return(View["profile", user]); } } else { if (UserFunctions.updateProfile(user, false) > 0) { return(View["profile", user]); } else { user.error = "Error Ocurred while updating profile"; return(View["profile", user]); } } }; #endregion #endregion #region short Get["/goTo/{toShort}"] = parameters => { string toShort = parameters.toShort; UrlObject urlObject = ShortFunctions.getUrlObjectIdByShorted(toShort); if (urlObject != null && urlObject.status.ToString() == "200") { if (ShortFunctions.insertNewClick(urlObject.idShortedUrl) > 0) { return(Response.AsRedirect(urlObject.longUrl)); } return(View["error", new errorObj { errorMsg = "No se ha podido acceder a la url " + urlObject.shortedUrl + "error desconocdio" }]); } else { return(View["error", new errorObj { errorMsg = "Url Caida desde " + urlObject.lastStatusCHanged }]); } }; Post["/addUrl"] = parameters => { string urlToAdd = Request.Form["urlToShort"]; var currentUser = Context.CurrentUser.UserName; if (!string.IsNullOrEmpty(currentUser)) { var guid = UserFunctions.getGuidByName(currentUser); ShortedUrl newUrl = ShortFunctions.urlAlreadyShorted(urlToAdd, guid); if (newUrl == null) { int result = ShortFunctions.addNewUrl(urlToAdd, guid); if (result != 0) { return(Response.AsRedirect("/")); } else { return(View["error", new errorObj { errorMsg = "No se ha podido crear la url " + urlToAdd }]); } } return(Response.AsRedirect("/tableDetails/" + newUrl.idShortedUrl)); } return("error"); }; #endregion #region csv Get["/csv"] = parameters => { return(View["csv", null]); }; Post["/csv"] = parameters => { string urlsToAdd = Request.Form["urlList"]; string[] urlsArr = urlsToAdd.Split(','); var currentUser = Context.CurrentUser.UserName; var guid = UserFunctions.getGuidByName(currentUser); if (guid != null) { csvResponse result = ShortFunctions.addArrUrls(urlsArr, guid); return(View["csv", result]); } return(0); }; #endregion Get["/details/{url}"] = parameters => { return(View["register"]); }; }
/// <summary> /// Update User /// </summary> /// <returns></returns> public Response Update(Objects.User user) { //Props int statusCode = 200; Response response = new Response(); var color = ColorUtil.ToHEXColor(user.Color); var isOnline = Func.ToString(user.IsOnline); var isVerified = Func.ToString(user.IsVerified); try { //Open Connection Database.Connection.Open(); //Query string query = "UPDATE Users SET Username=@Username, Password=@Password, FirstName=@FirstName, LastName=@LastName, " + "Email=@Email, PinCode=@PinCode, Role=@Role, Locale=@Locale, Color=@Color, IsOnline=@IsOnline, " + "IsVerified=@IsVerified " + " WHERE UserId=@UserId"; //Execute Query With MySqlConnection MySqlCommand Command = new MySqlCommand(query, Database.Connection); //Parameters For Security Purpose Command.Parameters.AddWithValue("UserId", user.Id); Command.Parameters.AddWithValue("Username", user.Username); Command.Parameters.AddWithValue("Password", user.Password); Command.Parameters.AddWithValue("FirstName", user.FirstName); Command.Parameters.AddWithValue("LastName", user.LastName); Command.Parameters.AddWithValue("Email", user.Email); Command.Parameters.AddWithValue("PinCode", user.PinCode); Command.Parameters.AddWithValue("Role", user.Role); Command.Parameters.AddWithValue("Locale", user.Locale); Command.Parameters.AddWithValue("Color", color); Command.Parameters.AddWithValue("IsOnline", isOnline); Command.Parameters.AddWithValue("IsVerified", isVerified); Command.ExecuteNonQuery(); Database.Connection.Close(); statusCode = 204; response.StatusCode = statusCode; } catch (MySqlException e) { if (e.Message.Contains("Duplicate entry")) { statusCode = 409; } else { // Internal Server Error statusCode = 500; } Logger.QueryError(e, "User", "Updating User"); // Status Code response.StatusCode = statusCode; } //Close Connection if Open if (Database.Connection.State == ConnectionState.Open) { Database.Connection.Close(); } return(response); }
/// <summary> /// Get User Insights /// </summary> /// <returns></returns> public Response GetInsights(Objects.User user) { int statusCode = 200; //user.Id = user.Id ?? Properties.Settings.Default.UserId; Response response = new Response(); try { Database.Connection.Open(); var yearMonth = DateUtil.GetYearAndMonth(DateTime.Now); var weekNumOfYear = DateUtil.GetWeekNumber(DateTime.Now); var year = DateUtil.GetYear(DateTime.Now); var query = "SELECT " + "( SELECT SUM(TotalPrice) FROM Sales WHERE(UserId =@UserId AND SoldAt BETWEEN CURRENT_DATE() AND(NOW() + INTERVAL 1 DAY)) ) AS DailyRevenue, " + "( SELECT SUM(TotalPrice) FROM Sales WHERE(UserId =@UserId AND EXTRACT(WEEK FROM SoldAt) = @WeekNumOfYear)) AS WeeklyRevenue, " + "( SELECT SUM(TotalPrice) FROM Sales WHERE(UserId =@UserId AND EXTRACT(YEAR_MONTH FROM SoldAt) = @YearMonth) ) AS MonthlyRevenue, " + "( SELECT SUM(TotalPrice) FROM Sales WHERE(UserId =@UserId AND YEAR(SoldAt) = @Year) ) AS YearlyRevenue, " + "( SELECT SUM(TotalPrice) FROM Sales WHERE(UserId =@UserId) ) AS TotalRevenue, " + "( SELECT COUNT(*) FROM Sales WHERE(UserId =@UserId AND SoldAt BETWEEN CURRENT_DATE() AND(NOW() + INTERVAL 1 DAY)) ) AS DailySalesCount, " + "( SELECT COUNT(*) FROM Sales WHERE(UserId =@UserId AND EXTRACT(WEEK FROM SoldAt) = @WeekNumOfYear)) AS WeeklySalesCount, " + "( SELECT COUNT(*) FROM Sales WHERE(UserId =@UserId AND EXTRACT(YEAR_MONTH FROM SoldAt) = @YearMonth) ) AS MonthlySalesCount, " + "( SELECT COUNT(*) FROM Sales WHERE(UserId =@UserId AND YEAR(SoldAt) = @Year) ) AS YearlySalesCount, " + "( SELECT COUNT(*) FROM Sales WHERE(UserId =@UserId) ) AS TotalSalesCount"; MySqlCommand Command = new MySqlCommand(query, Database.Connection); Command.Parameters.AddWithValue("UserId", user.Id); Command.Parameters.AddWithValue("WeekNumOfYear", weekNumOfYear); Command.Parameters.AddWithValue("YearMonth", yearMonth); Command.Parameters.AddWithValue("Year", year); MySqlDataReader DataReader = Command.ExecuteReader(); while (DataReader.Read()) { user.DailyRevenue = Func.ToDecimal(DataReader["DailyRevenue"].ToString()); user.WeeklyRevenue = Func.ToDecimal(DataReader["WeeklyRevenue"].ToString()); user.MonthlyRevenue = Func.ToDecimal(DataReader["MonthlyRevenue"].ToString()); user.YearlyRevenue = Func.ToDecimal(DataReader["YearlyRevenue"].ToString()); user.TotalRevenue = Func.ToDecimal(DataReader["TotalRevenue"].ToString()); user.DailySalesCount = Func.ToDouble(DataReader["DailySalesCount"].ToString()); user.WeeklySalesCount = Func.ToDouble(DataReader["WeeklySalesCount"].ToString()); user.MonthlySalesCount = Func.ToDouble(DataReader["MonthlySalesCount"].ToString()); user.YearlySalesCount = Func.ToDouble(DataReader["YearlySalesCount"].ToString()); user.TotalSalesCount = Func.ToDouble(DataReader["TotalSalesCount"].ToString()); } if (!DataReader.HasRows) { // Bad Request statusCode = 400; } else { // OK statusCode = 200; } Database.Connection.Close(); //Response response.StatusCode = statusCode; response.Data = user; } catch (MySqlException e) { Logger.QueryError(e, "User", "Getting User Insights"); // Internal Error : response.StatusCode = 500; } if (Database.Connection.State == ConnectionState.Open) { Database.Connection.Close(); } return(response); }
/// <summary> /// Get User /// </summary> /// <param name="userId"></param> /// <returns></returns> public Response Get(Objects.User user) { //Props int statusCode = 200; user.Id = user.Id ?? Properties.Settings.Default.UserId; Response response = new Response(); try { //Open MySqlConnection Database.Connection.Open(); //Query string Query = "SELECT * FROM Users WHERE UserId=@UserId"; //Execute Query MySqlCommand Command = new MySqlCommand(Query, Database.Connection); Command.Parameters.AddWithValue("UserId", user.Id); MySqlDataReader DataReader = Command.ExecuteReader(); //Read Data while (DataReader.Read()) { user.Id = DataReader["UserId"].ToString(); user.Token = DataReader["Token"].ToString(); user.Username = DataReader["Username"].ToString(); user.Password = DataReader["Password"].ToString(); user.FirstName = DataReader["FirstName"].ToString(); user.LastName = DataReader["LastName"].ToString(); user.Email = DataReader["Email"].ToString(); user.PinCode = DataReader["PinCode"].ToString(); user.Role = DataReader["Role"].ToString(); user.Locale = DataReader["Locale"].ToString(); user.ImageBlobId = DataReader["ImageBlobId"].ToString(); user.IsOnline = Func.ToBoolean(DataReader["IsOnline"].ToString()); user.IsVerified = Func.ToBoolean(DataReader["IsVerified"].ToString()); user.Color = ColorUtil.HEXToColor(DataReader["Color"].ToString()); user.LastActive = Convert.ToDateTime(DataReader["LastActive"].ToString()); user.RegisteredAt = Convert.ToDateTime(DataReader["RegisteredAt"].ToString()); } if (!DataReader.HasRows) { // Bad Request statusCode = 400; } else { // OK statusCode = 200; } //Close Connection Database.Connection.Close(); //GetImage Color user.ProfileImage = GetProfileImage(user.ImageBlobId, user.FirstName, user.Color); //Response response.StatusCode = statusCode; response.Data = user; } catch (MySqlException e) { Logger.QueryError(e, "User", "Getting User"); // Internal Error : response.StatusCode = 500; } //Close Connection if Open if (Database.Connection.State == ConnectionState.Open) { Database.Connection.Close(); } return(response); }
/// <summary> /// Get Whole Registered Users if Admin /// </summary> public Response GetUsers(Objects.Store store) { //Props int statusCode = 200; Response response = new Response(); List <object> users = new List <object>(); store.Id = store.Id ?? Properties.Settings.Default.StoreId; try { Database.Connection.Open(); string query = " SELECT DISTINCT Users.*, Blobs.Path As ProfileImageUrl " + " FROM Users " + " LEFT OUTER JOIN Blobs " + " ON Blobs.BlobId = Users.ImageBlobId " + " ORDER BY RegisteredAt DESC "; //Execute Query With Connection => DataReader MySqlCommand Command = new MySqlCommand(query, Database.Connection); Command.Parameters.AddWithValue("StoreId", store.Id); MySqlDataReader DataReader = Command.ExecuteReader(); //Read Data while (DataReader.Read()) { Objects.User user = new Objects.User { Id = DataReader["UserId"].ToString(), Token = DataReader["Token"].ToString(), Username = DataReader["Username"].ToString(), Password = DataReader["Password"].ToString(), FirstName = DataReader["FirstName"].ToString(), LastName = DataReader["LastName"].ToString(), Email = DataReader["Email"].ToString(), PinCode = DataReader["PinCode"].ToString(), Role = DataReader["Role"].ToString(), Locale = DataReader["Locale"].ToString(), ImageBlobId = DataReader["ImageBlobId"].ToString(), IsOnline = Func.ToBoolean(DataReader["IsOnline"].ToString()), IsVerified = Func.ToBoolean(DataReader["IsVerified"].ToString()), Color = ColorUtil.HEXToColor(DataReader["Color"].ToString()), LastActive = Convert.ToDateTime(DataReader["LastActive"].ToString()), RegisteredAt = Convert.ToDateTime(DataReader["RegisteredAt"].ToString()), }; user.ProfileImage = GetProfileImage(user.ImageBlobId, user.FirstName, user.Color, doRequest: false, imageUrl: DataReader["ProfileImageUrl"].ToString()); users.Add(user); } if (!DataReader.HasRows) { // Bad Request statusCode = 400; } else { // OK statusCode = 200; } //Close Connection Database.Connection.Close(); //Response response.StatusCode = statusCode; response.DataArray = users; } catch (MySqlException e) { Logger.QueryError(e, "User", "Getting Users"); // Internal Error : response.StatusCode = 500; } //Close Connection if Open if (Database.Connection.State == ConnectionState.Open) { Database.Connection.Close(); } return(response); }
/// <summary> /// Create a new User /// </summary> /// <param name="username"> Username</param> /// <param name="email"> User Email</param> /// <param name="password"> User Password</param> /// <param name="pin"> User PIN </param> /// <returns></returns> public Response Register(Objects.User user, Objects.Store store) { //Props int statusCode = 201; Response response = new Response(); //Random Tokens string userId = ServerUtil.GenerateToken(TokenLengths.UserIdLength); string userToken = ServerUtil.GenerateToken(TokenLengths.UserTokenLength); user.PinCode = user.PinCode ?? ServerUtil.GenerateRandomNum(minChar: 100000, maxChar: 999999).ToString(); store.Id = store.Id ?? Properties.Settings.Default.StoreId; var _color = ColorUtil.ToHEXColor(user.Color); try { //Open MySqlConnection Database.Connection.Open(); //Query string query = "INSERT INTO Users (UserId, Token, StoreId, Username, Password, FirstName, LastName, Email, " + " PinCode, Role, Locale, Color, ImageBlobId) " + "VALUES (@UserId, @Token, @StoreId, @Username, @Password, @FirstName, @LastName, @Email, " + " @PinCode, @Role, @Locale, @Color, @ImageBlobId)"; //Execute Query With MySqlConnection MySqlCommand Command = new MySqlCommand(query, Database.Connection); //Parameters For Security Purpose Command.Parameters.AddWithValue("UserId", userId); Command.Parameters.AddWithValue("Token", userToken); Command.Parameters.AddWithValue("StoreId", store.Id); Command.Parameters.AddWithValue("Username", user.Username); Command.Parameters.AddWithValue("Password", user.Password); Command.Parameters.AddWithValue("FirstName", user.FirstName); Command.Parameters.AddWithValue("LastName", user.LastName); Command.Parameters.AddWithValue("Email", user.Email); Command.Parameters.AddWithValue("PinCode", user.PinCode); Command.Parameters.AddWithValue("Role", user.Role); Command.Parameters.AddWithValue("Locale", user.Locale); Command.Parameters.AddWithValue("Color", _color); Command.Parameters.AddWithValue("ImageBlobId", user.ImageBlobId); Command.ExecuteNonQuery(); //Close Connection Database.Connection.Close(); // Status Code statusCode = 201; } catch (MySqlException e) { if (e.Message.Contains("Duplicate entry")) { //Duplicate Key or Conflict statusCode = 409; } else { // Internal Server Error statusCode = 500; } Logger.QueryError(e, "User", "Register"); } //Close Connection if Open if (Database.Connection.State == ConnectionState.Open) { Database.Connection.Close(); } //Response response.StatusCode = statusCode; response.Data = user; return(response); }
public int ULogin(Objects.User obj) { return(new DAL.User().ULogin(obj)); }