Ejemplo n.º 1
0
        public async Task <UserPermissionResponse> CreateUserPermission(DirectUserPermissionModel model, int companyId)
        {
            using (var _context = _dbcontext())
            {
                try
                {
                    var userPerm = await _context.SpecialPermissions.Where(x => x.Is_deleted == false && x.CompanyId == companyId).ToListAsync();

                    for (int i = 0; i < model.UserPerms.Length; i++)
                    {
                        var is_user_perm_exist = userPerm.Any(x => x.UserId == model.UserPerms[i].UserId && x.DocumentType == model.UserPerms[i].Permission.DocumentType);
                        if (is_user_perm_exist == true)
                        {
                            model.UserPerms[i].Success = false;
                            model.UserPerms[i].Message = "User Permission Exist";
                        }
                        else
                        {
                            var perm = new SpecialPermission {
                                UserId              = model.UserPerms[i].UserId,
                                DocumentType        = model.UserPerms[i].Permission.DocumentType,
                                DocumentAccessLevel = model.UserPerms[i].Permission.DocumentAccessLevel,
                                Create              = model.UserPerms[i].Permission.Create,
                                Read          = model.UserPerms[i].Permission.Read,
                                Update        = model.UserPerms[i].Permission.Update,
                                Delete        = model.UserPerms[i].Permission.Delete,
                                Upload        = model.UserPerms[i].Permission.Upload,
                                Download      = model.UserPerms[i].Permission.Download,
                                Amend         = model.UserPerms[i].Permission.Amend,
                                Cancel        = model.UserPerms[i].Permission.Cancel,
                                Approval      = model.UserPerms[i].Permission.Approval,
                                SetPermission = model.UserPerms[i].Permission.SetPermission,
                                CompanyId     = companyId,
                                DateCreated   = DateTime.Now
                            };
                            model.UserPerms[i].Success = true;
                            model.UserPerms[i].Message = "Created";
                            _context.SpecialPermissions.Add(perm);
                        }
                    }
                    await _context.SaveChangesAsync();

                    return(new UserPermissionResponse(model));
                }
                catch (Exception ex)
                {
                    return(new UserPermissionResponse(ex.Message));
                }
            }
        }
Ejemplo n.º 2
0
        public async Task <UserPermissionResponse> UpdateUserPermission(DirectUserPermissionModel model, int companyId)
        {
            using (var _context = _dbcontext())
            {
                try
                {
                    var userPerm = await _context.SpecialPermissions.Where(x => x.Is_deleted == false && x.CompanyId == companyId).ToListAsync();

                    for (int i = 0; i < model.UserPerms.Length; i++)
                    {
                        var userPermission = userPerm.FirstOrDefault(x => x.UserId == model.UserPerms[i].UserId && x.DocumentType == model.UserPerms[i].Permission.DocumentType);
                        if (userPermission == null)
                        {
                            model.UserPerms[i].Success = false;
                            model.UserPerms[i].Message = "User Permission Not Found";
                        }
                        else
                        {
                            userPermission.UserId              = model.UserPerms[i].UserId;
                            userPermission.DocumentType        = model.UserPerms[i].Permission.DocumentType;
                            userPermission.DocumentAccessLevel = model.UserPerms[i].Permission.DocumentAccessLevel;
                            userPermission.Create              = model.UserPerms[i].Permission.Create;
                            userPermission.Read          = model.UserPerms[i].Permission.Read;
                            userPermission.Update        = model.UserPerms[i].Permission.Update;
                            userPermission.Delete        = model.UserPerms[i].Permission.Delete;
                            userPermission.Upload        = model.UserPerms[i].Permission.Upload;
                            userPermission.Download      = model.UserPerms[i].Permission.Download;
                            userPermission.Amend         = model.UserPerms[i].Permission.Amend;
                            userPermission.Cancel        = model.UserPerms[i].Permission.Cancel;
                            userPermission.Approval      = model.UserPerms[i].Permission.Approval;
                            userPermission.SetPermission = model.UserPerms[i].Permission.SetPermission;
                            userPermission.CompanyId     = companyId;
                            userPermission.DateCreated   = DateTime.Now;
                            model.UserPerms[i].Success   = true;
                            model.UserPerms[i].Message   = "Updated";
                            _context.SpecialPermissions.Update(userPermission);
                        }
                    }
                    await _context.SaveChangesAsync();

                    return(new UserPermissionResponse(model));
                }
                catch (Exception ex)
                {
                    return(new UserPermissionResponse(ex.Message));
                }
            }
        }
Ejemplo n.º 3
0
 public UserPermissionResponse(DirectUserPermissionModel userpermission) : this(true, string.Empty, userpermission)
 {
 }
Ejemplo n.º 4
0
 public UserPermissionResponse(bool success, string message, DirectUserPermissionModel userpermission) : base(success, message)
 {
     _userpermission = userpermission;
 }