Esempio n. 1
0
        public async Task <bool> Save(UserRoleMapDTO _dto, Guid Id, int EntityState)
        {
            UserRolesMap _userRolesMap = new UserRolesMap();

            if (_dto != null)
            {
                //usermaster.Id = "";
                _userRolesMap.Id         = Id;
                _userRolesMap.UserId     = _dto.UserId;
                _userRolesMap.RoleId     = _dto.RoleId;
                _userRolesMap.StatusCode = EMPConstants.Active;
            }

            if (EntityState == (int)System.Data.Entity.EntityState.Modified)
            {
                db.Entry(_userRolesMap).State = System.Data.Entity.EntityState.Modified;
            }
            else
            {
                db.UserRolesMaps.Add(_userRolesMap);
            }

            try
            {
                await db.SaveChangesAsync();

                return(true);
            }

            catch (DbUpdateConcurrencyException)
            {
                if (!IsExists(_userRolesMap.Id))
                {
                    return(false);
                }
                else
                {
                    throw;
                }
            }
        }
Esempio n. 2
0
        public async Task<int> SaveUser(UserDetailDTO _user, Guid Id, int EntityState)
        {
            UserMaster usermaster = new UserMaster();
            string Password = "";

            if (_user != null)
            {
                if (EntityState == (int)System.Data.Entity.EntityState.Modified)
                {
                    var Existuser = db.UserMasters.Where(o => o.Id != Id && o.UserName == _user.UserName).Any();
                    if (Existuser)
                        return -1;

                    usermaster = db.UserMasters.Where(o => o.Id == Id).FirstOrDefault();
                }
                else
                {
                    var Existuser = db.UserMasters.Where(o => o.UserName == _user.UserName).Any();
                    if (Existuser)
                        return -1;
                    Password = GetRandomPassword();
                    usermaster.Password = PasswordManager.CryptText(Password); //"admin1"

                }
                //usermaster.Id = "";
                usermaster.Id = Id;
                usermaster.EntityId = _user.EntityId;
                usermaster.CustomerId = _user.CustomerId;
                usermaster.FirstName = _user.FirstName;
                usermaster.LastName = _user.LastName;
                // usermaster.MiddleName = _user.MiddleName;
                usermaster.UserName = _user.UserName;

                usermaster.EmailAddress = _user.EmailAddress;
                usermaster.IsEmailConfirmed = _user.IsEmailConfirmed;
                usermaster.EmailConfirmationCode = _user.EmailConfirmationCode;
                usermaster.PasswordResetCode = _user.PasswordResetCode;

                usermaster.LastLoginDate = _user.LastLoginDate;
                usermaster.IsActive = true;
                usermaster.IsActiveDate = DateTime.Now;
                usermaster.StatusCode = EMPConstants.Active;

                if (EntityState == (int)System.Data.Entity.EntityState.Modified)
                {

                    usermaster.CreatedBy = _user.UserId;
                    usermaster.CreatedDate = DateTime.Now;
                    usermaster.LastUpdatedDate = DateTime.Now;
                    usermaster.LastUpdatedBy = _user.UserId;
                    db.Entry(usermaster).State = System.Data.Entity.EntityState.Modified;
                }
                else
                {
                    usermaster.LastUpdatedDate = DateTime.Now;
                    usermaster.LastUpdatedBy = _user.UserId;
                    db.UserMasters.Add(usermaster);

                    EmailNotification _email = new EmailNotification();
                    _email.CreatedBy = _user.UserId;
                    _email.CreatedDate = DateTime.Now;
                    _email.EmailCC = "";
                    _email.EmailContent = "";
                    _email.EmailSubject = EMPConstants.NewUserMailSubject;
                    _email.EmailTo = _user.EmailAddress;
                    _email.EmailType = (int)EMPConstants.EmailTypes.NewAdminUser;
                    _email.IsSent = false;
                    _email.Parameters = _user.UserName + "$|$" + Password;
                    db.EmailNotifications.Add(_email);
                }


                // User Group Mapping Saving
                UserGroupMap usergroup = new UserGroupMap();

                UserGroupMapDTO UserGroupMapDto = await _UserGroupService.GetByUserId(usermaster.Id);
                bool IsNewGroup = true;
                if (UserGroupMapDto != null)
                {
                    if (UserGroupMapDto.Id != Guid.Empty)
                    {
                        IsNewGroup = false;
                        usergroup.Id = UserGroupMapDto.Id;
                        usergroup.GroupId = _user.Groups.Id;
                        usergroup.UserId = usermaster.Id;
                        usergroup.StatusCode = EMPConstants.Active;
                        db.Entry(usergroup).State = System.Data.Entity.EntityState.Modified;
                    }
                }

                if (IsNewGroup)
                {
                    usergroup.Id = Guid.NewGuid();
                    usergroup.GroupId = _user.Groups.Id;
                    usergroup.UserId = usermaster.Id;
                    usergroup.StatusCode = EMPConstants.Active;
                    db.UserGroupMaps.Add(usergroup);
                }

                if (_user.Roles.ToList().Count > 0)
                {
                    if (EntityState == (int)System.Data.Entity.EntityState.Modified)
                    {
                        var UserRole1 = db.UserRolesMaps.Where(o => o.UserId == _user.Id).ToList();
                        if (UserRole1.Count() > 0)
                            db.UserRolesMaps.RemoveRange(UserRole1);
                    }

                    List<UserRolesMap> _UserRolesMapList = new List<UserRolesMap>();
                    foreach (RoleDTO Role in _user.Roles)
                    {
                        UserRolesMap _UserRolesMap = new UserRolesMap();
                        _UserRolesMap.Id = Guid.NewGuid();
                        _UserRolesMap.UserId = usermaster.Id;
                        _UserRolesMap.RoleId = Role.Id;
                        _UserRolesMap.StatusCode = EMPConstants.Active;
                        _UserRolesMapList.Add(_UserRolesMap);
                    }

                    db.UserRolesMaps.AddRange(_UserRolesMapList);
                }
            }

            try
            {

                await db.SaveChangesAsync();
                db.Dispose();

                return 1;
            }

            catch (DbUpdateConcurrencyException)
            {
                return 0;
            }
        }