Ejemplo n.º 1
0
        public JsonResult UpdateUser(UserInformation userInformation)
        {
            try
            {
                using (var data = new Entities())
                {
                    var existingCredo =
                        data.Credentials.FirstOrDefault(x => x.Username == userInformation.Username.ToLower());

                    if (existingCredo == null)
                    {
                        return new JsonResult()
                               {
                                   Data = new { Status = false, Message = "This Credential is not Recognised. Please try to Add the User" }
                               }
                    }
                    ;

                    existingCredo.FirstName = userInformation.Firstname;
                    existingCredo.LastName  = userInformation.Lastname;

                    data.Entry(existingCredo).State = EntityState.Modified;
                    data.SaveChanges();

                    var existingCredoMap = data.CredentialMaps.FirstOrDefault(x => !x.IsDeleted && x.CredentialId == existingCredo.Id);
                    if (existingCredoMap != null)
                    {
                        data.CredentialMaps.Remove(existingCredoMap);

                        data.SaveChanges();
                    }

                    data.CredentialMaps.Add(new CredentialMap()
                    {
                        IsDeleted    = false,
                        CredentialId = existingCredo.Id,
                        DateAssigned = DateTime.Now,
                        RoleId       = userInformation.UserRole
                    });
                    data.SaveChanges();

                    ActivityLogger.Log("INFO", $"{userInformation.Username}: {userInformation.Lastname}, {userInformation.Firstname} has been Updated");
                }

                return(new JsonResult()
                {
                    Data = new { Status = true, Message = "Successful" }
                });
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message }
                });
            }
        }
Ejemplo n.º 2
0
        public JsonResult CreateUser(UserInformation userInformation)
        {
            try
            {
                using (var data = new Entities())
                {
                    if (data.Credentials.FirstOrDefault(x => x.Username == userInformation.Username.ToLower()) != null)
                    {
                        return new JsonResult()
                               {
                                   Data = new { Status = false, Message = "Username has been Used" }
                               }
                    }
                    ;

                    var passwordSalt = Encryption.GetUniqueKey(10);
                    var credential   = data.Credentials.Add(new Credential()
                    {
                        DateRegistered = DateTime.Now,
                        FirstName      = userInformation.Firstname,
                        IsDeleted      = false,
                        LastName       = userInformation.Lastname,
                        PasswordData   = Encryption.SaltEncrypt(Encryption.GetUniqueKey(6), passwordSalt),
                        PasswordSalt   = passwordSalt,
                        UserState      = (int)UserStates.New,
                        Username       = userInformation.Username.ToLower()
                    });
                    data.SaveChanges();

                    data.CredentialMaps.Add(new CredentialMap()
                    {
                        IsDeleted    = false,
                        CredentialId = credential.Id,
                        DateAssigned = DateTime.Now,
                        RoleId       = userInformation.UserRole
                    });
                    data.SaveChanges();

                    new Thread(() =>
                    {
                        if (Messenger.SendNewCredentials(userInformation.Username))
                        {
                            ActivityLogger.Log("INFO", $"New Credentials have been sent Successfully");
                        }
                    }).Start();

                    ActivityLogger.Log("INFO", $"{userInformation.Username}: {userInformation.Lastname}, {userInformation.Firstname} has been created");
                }

                return(new JsonResult()
                {
                    Data = new { Status = true, Message = "Successful" }
                });
            }
            catch (Exception ex)
            {
                ActivityLogger.Log(ex);
                return(new JsonResult()
                {
                    Data = new { Status = false, Message = ex.Message }
                });
            }
        }