public ActionResult AssignToNetwork(RegisterAndAssignUserToNetWork userViewModel)
        {
            if (ModelState.IsValid)
            {
                var member       = new MemberLogic().Find(s => s.Id.Equals(User.Identity.GetUserId()));
                var notification = (new PermissionAndAuthorization()).Add(userViewModel);
                if (!notification.Success || string.IsNullOrEmpty(notification.Id))
                {
                    //AddErrors(notification);
                }
                else
                {
                    var applicationUser = new ApplicationUser
                    {
                        UserName    = userViewModel.Email.ToLower(),
                        Email       = userViewModel.Email.ToLower(),
                        PersonId    = notification.Id,
                        PhoneNumber = userViewModel.Phone
                    };

                    var identityResult = UserManager.Create(applicationUser, userViewModel.Password);
                    if (identityResult.Succeeded)
                    {
                        if (userViewModel.Function != null)
                        {
                            var profileuserfunction = GroupManager.SetUserGroups(applicationUser.Id, userViewModel.Function);
                            if (profileuserfunction.Succeeded)
                            {
                                var getPersonId          = UserManager.FindByEmail(userViewModel.Email);
                                var addUseToThierNetwork = new AssignUsersToTheirAgentNetwork
                                {
                                    UserId    = getPersonId.Id,
                                    NetworkId = member.AgencyId
                                };
                                var results = new MemberLogic().AssignMemberToNetwork(addUseToThierNetwork);
                                if (results.Success)
                                {
                                    var userPositionHeldInOrganogramm = new UserPositionHeldInOrganogramm
                                    {
                                        UserId     = addUseToThierNetwork.UserId,
                                        OrggrammId = member.AgencyId
                                    };

                                    var resultss = new MemberLogic().AddWorkArea(userPositionHeldInOrganogramm);
                                    if (resultss.Success)
                                    {
                                        return(RedirectToAction("Index"));
                                    }
                                }
                            }
                        }
                    }
                }

                // this.AddErrors(identityResult);
            }
            return(View());
        }
예제 #2
0
        //public Notification Add(UserPositionHeldInOrganogramm entity)
        //{
        //    var notification = new Notification();
        //    try
        //    {

        //        _ctx.UserPositionHeld.Add(entity);
        //        _ctx.SaveChanges();
        //        notification.Message = "role was created successful";
        //        notification.Success = false;
        //    }
        //    catch
        //    {
        //        notification.Message = "fail to create role";
        //        notification.Success = false;
        //    }
        //    return notification;
        //}

        public Notification Add(UserPositionHeldInOrganogramm entity)
        {
            var notification = new Notification();

            using (var trns = _ctx.Database.BeginTransaction())
            {
                try
                {
                    var checkOfUserHasWorkSpace = _ctx.UserPositionHeld.SingleOrDefault(s => s.UserId.Equals(entity.UserId));
                    if (checkOfUserHasWorkSpace != null)
                    {
                        var userspace = new UserPositionHeldInOrganogramm
                        {
                            UserId     = checkOfUserHasWorkSpace.UserId,
                            OrggrammId = checkOfUserHasWorkSpace.OrggrammId
                        };
                        var delete = _ctx.Database.ExecuteSqlCommand("Delete FROM  UserPositionHeldInOrganogramms where UserId = {0}", new object[] { userspace.UserId });
                        //_ctx.Entry(userspace).State = EntityState.Deleted;
                        //_ctx.SaveChanges();
                        _ctx.UserPositionHeld.Add(entity);
                        _ctx.SaveChanges();
                    }
                    else
                    {
                        _ctx.UserPositionHeld.Add(entity);
                        _ctx.SaveChanges();
                    }

                    trns.Commit();
                    notification.Id      = Guid.NewGuid().ToString();
                    notification.Message = "role was created successful";
                    notification.Success = true;
                }
                catch (Exception ex)
                {
                    trns.Rollback();
                    notification.Id      = Guid.NewGuid().ToString();
                    notification.Message = "fail to create role";
                    notification.Success = false;
                }
            }

            return(notification);
        }
예제 #3
0
 public Notification AddWorkArea(UserPositionHeldInOrganogramm entity) => _member.Add(entity);