Exemple #1
0
        public ErrorsCollection Create(User_UserRolePostModel user_userRolePostModel)
        {
            var errors = userRoleValidator.Validate(user_userRolePostModel, context);

            if (errors != null)
            {
                return(errors);
            }

            User user = context.Users
                        .FirstOrDefault(u => u.Id == user_userRolePostModel.UserId);

            if (user != null)
            {
                UserRole userRole = context
                                    .UserRoles
                                    .Include(u_ur => u_ur.User_UserRoles)
                                    .FirstOrDefault(ur => ur.Name == user_userRolePostModel.UserRoleName);

                User_UserRole currentUser_UserRole = context
                                                     .User_UserRoles
                                                     .Include(ur => ur.UserRole)
                                                     .FirstOrDefault(u_ur => u_ur.EndTime == null && u_ur.UserId == user.Id);

                if (currentUser_UserRole == null)
                {
                    //    context.User_UserRoles.Add(new User_UserRole
                    //    {
                    //        User = user,
                    //        UserRole = userRole,
                    //        StartTime = DateTime.Now,
                    //        EndTime = null
                    //    });

                    //    context.SaveChanges();
                    return(null);
                }
                // aici se inchide perioada de activare pentru un anumit rol
                if (!currentUser_UserRole.UserRole.Name.Contains(user_userRolePostModel.UserRoleName))
                {
                    currentUser_UserRole.EndTime = DateTime.Now;

                    context.User_UserRoles.Add(new User_UserRole
                    {
                        User      = user,
                        UserRole  = userRole,
                        StartTime = DateTime.Now,
                        EndTime   = null
                    });

                    context.SaveChanges();
                    return(null);
                }
                else
                {
                    return(null);
                }
            }
            return(null);
        }
 public static User_UserRoleGetModel FromUser_UserRole(User_UserRole user_userRole)
 {
     return(new User_UserRoleGetModel
     {
         Id = user_userRole.Id,
         UserId = user_userRole.UserId,
         UserRoleId = user_userRole.UserRoleId,
         UserRoleName = user_userRole.UserRole.Name,
         StartTime = user_userRole.StartTime,
         EndTime = user_userRole.EndTime
     });
 }