private static void CleanUserData(vw_UserDataModel UserData)
        {
            switch (UserData.UserType.Value)
            {
            case (SystemUserTypes.ElementaryCourtAdministrator):
            case (SystemUserTypes.InitialCourtAdministrator):
            case (SystemUserTypes.InquiriesEmployee):
            case (SystemUserTypes.Secretary):
                UserData.ProsecutionID  = null;
                UserData.UserJudgeLevel = null;
                break;

            case (SystemUserTypes.Judge):
            case (SystemUserTypes.CourtHead):
                UserData.ProsecutionID = null;
                break;

            case SystemUserTypes.JICAdmin:
                UserData.ProsecutionID  = null;
                UserData.CourtID        = null;
                UserData.UserJudgeLevel = null;
                break;

            case SystemUserTypes.schedualEmployee:
            case SystemUserTypes.ImplementationEmployee:
                UserData.UserJudgeLevel = null;
                break;
            }
        }
        public ActionResult UnLock(int id)
        {
            var User = UserService.FindUserByID(id);
            vw_UserDataModel userData = GetUserModel(User);

            return(PartialView(userData));
        }
        // GET: User/Edit/5
        public ActionResult Edit(int id)
        {
            if (CurrentUser != null)
            {
                ViewData["SessionEnded"] = false;
                var User = UserService.FindUserByID(id);
                vw_UserDataModel    userModel  = null;
                UserPersonViewModel personData = null;
                if (User != null)
                {
                    userModel = GetUserModel(User);
                    if (User.PersonID.HasValue)
                    {
                        Base.Views.vw_PersonData person = PersonService.GetPerson(User.PersonID.Value);
                        personData = new UserPersonViewModel
                        {
                            CBirthDate              = person.BirthDate,
                            Job                     = person.Job,
                            Name                    = person.Name,
                            NationalityID           = person.NationalityID,
                            NatNo                   = person.NatNo,
                            PassportNo              = person.PassportNo,
                            PhoneNo                 = User.PhoneNo,
                            address_address         = person.address.address,
                            address_CityID          = person.address.CityID,
                            address_PoliceStationID = person.address.PoliceStationID,
                            ID         = person.ID,
                            BirthDateT = person.BirthDate,
                        };
                    }
                }
                string[] li = Regex.Split(personData.address_address.ToString(), "/");
                if (li[0] != null)
                {
                    personData.address_address = li[0];
                }
                if (li[1] != null)
                {
                    personData.address_CityID = int.Parse(li[1]);
                }
                if (li[2] != null)
                {
                    personData.address_PoliceStationID = int.Parse(li[2]);
                }
                personData.Age = CalculateAge(personData.BirthDateT.Value);

                return(PartialView(GetUserViewModel(userModel, personData)));
            }
            else
            {
                ViewData["SessionEnded"] = true;
                return(PartialView());
            }
        }
        public async Task <ActionResult> UnLock(int id, FormCollection formCollection)
        {
            UserService.ActivateUser(id);
            var User = UserService.FindUserByID(id);
            vw_UserDataModel userData = GetUserModel(User);

            ViewBag.OperationSuccess = true;
            var user = SecurityUserService.FindUserByID(id);

            user.AccessFailedCount = 0;
            SecurityUserService.UpdateUser(user.ID, user);
            return(PartialView(userData));
        }
 public ActionResult Delete(int id)
 {
     if (CurrentUser != null)
     {
         ViewData["SessionEnded"] = false;
         var User = UserService.FindUserByID(id);
         vw_UserDataModel userData = GetUserModel(User);
         return(PartialView(userData));
     }
     else
     {
         ViewData["SessionEnded"] = true;
         return(PartialView());
     }
 }
        public ActionResult Lock(int id, FormCollection formCollection)
        {
            var result = UserService.DeActivateUser(id);

            var User = UserService.FindUserByID(id);
            vw_UserDataModel userData = GetUserModel(User);

            if (result == Deactive.Deactive)
            {
                ViewBag.OperationSuccess = true;
            }

            else if (result == Deactive.CannotDeactive)
            {
                return(CPartialView(userData).WithSuccessMessages("المستخدم ضمن تشكيل حالي لدائرة معينة ولا يجوز تعطيله"));
            }
            else
            {
                return(CPartialView(userData).WithSuccessMessages("لم تتم العملية بنجاح"));
            }
            return(PartialView(userData));
        }
        public ActionResult Edit(int id, [Bind(Prefix = "Edit.UserData")] vw_UserDataModel UserData, [Bind(Prefix = "Edit.PersonData")] UserPersonViewModel PersonData)
        {
            if (CurrentUser != null)
            {
                ViewData["SessionEnded"] = false;
                if (!ModelState.IsValid)
                {
                    KeyValuePair <String, ModelState> birthday = ModelState.FirstOrDefault(m => m.Key == "Edit.UserData.UserName");
                    string error = birthday.Value.Errors.Select(e => e.ErrorMessage).First().ToString();
                    if (error == "هذا الحقل مطلوب." || error == "هذا الحقل يجب ان يحتوى على حروف وأرقام فقط")
                    {
                        return(JavaScript("$(document).trigger('User:UserWrong3')"));
                    }

                    var Error = ModelState.Values;
                    return(CPartialView(GetUserViewModel(UserData, PersonData)));
                }
                using (var Transaction = DataContext.Database.BeginTransaction())
                {
                    var         PersonResultStatus = PersonService.EditPerson(PersonData.ToPersonData());
                    vw_UserData userData           = UserData.ToVwUserData();
                    userData.FullName = PersonData.Name;
                    userData.PersonID = PersonData.ID;
                    var UserResultStatus = UserService.UpdateUser(id, userData);
                    if (UserResultStatus == UserStatus.AddSuccess && PersonResultStatus == PersonStatus.SuccefullSave)
                    {
                        Transaction.Commit();
                        return(JavaScript("$(document).trigger('User:UpdateSuccefull')"));
                    }
                }
                return(CPartialView(GetUserViewModel(UserData, PersonData)));
            }
            else
            {
                ViewData["SessionEnded"] = true;
                return(PartialView());
            }
        }
 private UserCreateViewModel GetUserViewModel(vw_UserDataModel UserData = null, UserPersonViewModel PersonData = null)
 {
     if (UserData == null)
     {
         UserData = new vw_UserDataModel();
     }
     if (PersonData == null)
     {
         PersonData = new UserPersonViewModel();
     }
     return(new UserCreateViewModel
     {
         UserData = UserData,
         PersonData = new PersonViewModel(PersonData, lookupService, PersonService, PersonData.ID != 0 ? Modes.Update : Modes.Add),
         UserTypes = lookupService.GetUserTypes(),
         Courts = lookupService.GetCourts(),
         JudgeLevels = lookupService.GetLookupsByCategory(LookupsCategories.JudgLevel),
         Prosecutions = lookupService.GetProsecutions(UserData.CourtID.HasValue ? UserData.CourtID.Value : IsAuthenticatied ? CurrentUser.CourtID : null).Select(pros => new Base.Views.vw_KeyValue
         {
             ID = pros.ID,
             Name = pros.Name
         }).ToList(),
     });
 }
        public async Task <ActionResult> Create(string submit, vw_UserDataModel UserData, UserPersonViewModel PersonData)
        {
            if (CurrentUser != null)
            {
                ViewData["SessionEnded"] = false;
                UserCreateViewModel viewModel = null;
                try
                {
                    using (var Transaction = DataContext.Database.BeginTransaction())
                    {
                        if (!ModelState.IsValid)
                        {
                            KeyValuePair <String, ModelState> UserName = ModelState.FirstOrDefault(m => m.Key == "UserData.UserName");
                            if (UserName.Value.Errors.Count() != 0)
                            {
                                string errorUserName = UserName.Value.Errors.Select(e => e.ErrorMessage).FirstOrDefault().ToString();
                                if (errorUserName == "أسم المستخدم موجود من قبل")
                                {
                                    return(JavaScript("$(document).trigger('User:UsernameExist2')"));
                                }
                            }

                            KeyValuePair <String, ModelState> PhoneNo = ModelState.FirstOrDefault(m => m.Key == "UserData.PhoneNo");
                            if (PhoneNo.Value.Errors.Count() != 0)
                            {
                                string errorPhoneNo = PhoneNo.Value.Errors.Select(e => e.ErrorMessage).FirstOrDefault().ToString();
                                if (errorPhoneNo == "رقم التليفون المحمول موجود من قبل")
                                {
                                    return(JavaScript("$(document).trigger('User:PhoneNoExist2')"));
                                }
                            }
                            // KeyValuePair<String, ModelState> PassportNo = ModelState.FirstOrDefault(m => m.Key == "PersonData.PersonData.PassportNo");
                            // string errorPassportNo = PassportNo.Value.Errors.Select(e => e.ErrorMessage).First().ToString();
                            //     return CPartialView(GetUserViewModel(UserData)).WithErrorMessages("إسم المستخدم موجود من قبل");
                            return(PartialView(GetUserViewModel(UserData)));
                        }
                        if (UserService.IsPassporeExist(PersonData.PassportNo, UserData.ID))
                        {
                            return(JavaScript("$(document).trigger('User:PassportNoExist2')"));
                        }

                        CleanUserData(UserData);
                        var vw_PersonData = GetPersonData(PersonData);

                        long PersonID = PersonData.ID;
                        if (vw_PersonData.ID == 0)
                        {
                            PersonService.AddPerson(vw_PersonData, out PersonID);
                        }
                        else
                        {
                            PersonService.EditPerson(vw_PersonData);
                        }
                        vw_PersonData.ID = PersonID;
                        var Result = await UserService.CreateUserAsync(vw_PersonData.ID, vw_PersonData.Name, UserData);

                        if (Result.Succeeded)
                        {
                            Transaction.Commit();
                            switch (submit)
                            {
                            case "حفظ و إضافة مستخدم جديد":
                                return(JavaScript("$(document).trigger('User:ReopenModel')"));


                            case " حفظ و غلق":
                                return(JavaScript("$(document).trigger('User:SaveSuccefull')"));
                            }
                        }
                        else
                        {
                            this.AddErrors(Result);
                        }
                    }
                }
                catch (DbEntityValidationException ex)
                {
                    DataContext.Database.CurrentTransaction.Rollback();
                    return(ErrorPage(ex));
                }

                catch (Exception ex)
                {
                    DataContext.Database.CurrentTransaction.Rollback();
                    return(ErrorPage(ex));
                }
                if (viewModel == null)
                {
                    viewModel = GetUserViewModel(UserData, PersonData);
                }

                return(PartialView(viewModel));
            }
            else
            {
                ViewData["SessionEnded"] = true;
                return(PartialView());
            }
        }
Example #10
0
        public async Task <IdentityResult> CreateUserAsync(long?PersonID, string PersonName, vw_UserDataModel UserData)
        {
            var Security_User = new Entities.Models.Security_Users
            {
                UserName      = UserData.UserName,
                UserTypeID    = (int)UserData.UserType,
                CourtID       = UserData.CourtID,
                ProsecutionID = UserData.ProsecutionID,
                Email         = UserData.UserName + "@jic.com",
                FullName      = PersonName,
                CreatedBy     = (User.Identity.Name == null || User.Identity.Name.Equals("") ? "System" : User.Identity.Name),
                CreatedAt     = DateTime.Now,
                PersonsId     = PersonID,
                PhoneNumber   = UserData.PhoneNo,
                Active        = true,
                TitleID       = UserData.UserJudgeLevel,
            };
            var CreateUserResult = await userManager.CreateAsync(Security_User, SystemConfigurations.Defaults_DefaultPassword);

            if (CreateUserResult.Succeeded)
            {
                return(await AddRolesToUser(UserData.UserType.Value, Security_User.Id));
            }
            else
            {
                return(CreateUserResult);
            }
        }