示例#1
0
        public Form1()
        {
            InitializeComponent();
            #region login
            tabControlMain.Visible = false;
            //panelLogin.Visible = true;
            gbLogin.BringToFront();
            #endregion

            //Заполнить кафедры

            FillDgvForChair();
            AdministratorRequest.Show_Chairs(factory, dgvChair);
            //Вывод степеней и званий
            FillDgvForDegrees();
            AdministratorRequest.Show_Degrees(factory, dgvDegrees);
            FillDgvForTitles();
            AdministratorRequest.Show_Titles(factory, dgvTitles);
            //Вывод должностей
            FillDgvForPositions();
            AdministratorRequest.Show_Positions(factory, dgvPositions);
            // Заполнение комбобоксов
            AdministratorRequest.Get_Positions(factory, comboContractPositions);
            AdministratorRequest.Get_Chairs(factory, comboContractChair);
            AdministratorRequest.Get_Titles(factory, comboTitles);
            AdministratorRequest.Get_Degrees(factory, comboDegrees);
            AdministratorRequest.Get_Chairs(factory, comboStaffByChair);
            AdministratorRequest.Get_Chairs(factory, comboChairSheet);
            AdministratorRequest.Get_Chairs(factory, comboChairUpd);
            tabControlMain.Visible = true;
        }
        public async Task <ReturnModel> UpdateAdministrator(AdministratorRequest request)
        {
            var adminValidator = new AdministratorValidator().Validate(request);

            if (!adminValidator.IsValid)
            {
                return new ReturnModel {
                           Errors = adminValidator.Errors
                }
            }
            ;

            var admin = await _administratorRepository.GetByCpf(request.Cpf);

            if (admin == null)
            {
                return new ReturnModel {
                           Errors = "Administrador Não existe"
                }
            }
            ;

            var result = await UpdateEntity(admin, request);

            return(new ReturnModel {
                Data = _mapper.Map <AdministratorModel>(result)
            });
        }
        public async Task <ReturnModel> CreateAdministrator(AdministratorRequest request)
        {
            var adminValidator = new AdministratorValidator().Validate(request);

            if (!adminValidator.IsValid)
            {
                return new ReturnModel {
                           Errors = adminValidator.Errors
                }
            }
            ;

            var admin = await _administratorRepository.GetByCpf(request.Cpf);

            if (admin != null)
            {
                return new ReturnModel {
                           Errors = "CPF já utilizado por outro Administrador"
                }
            }
            ;

            admin              = _mapper.Map <Administrator>(request);
            admin.Password     = PasswordService.GeneratePassword(admin.Password);
            admin.RegisteredAt = DateTime.Now;

            var result = await _administratorRepository.Insert(admin);

            return(new ReturnModel {
                Data = _mapper.Map <AdministratorModel>(result)
            });
        }
示例#4
0
        public async Task <IActionResult> UpdateAdministrator(AdministratorRequest request)
        {
            var result = await _administratorService.UpdateAdministrator(request);

            if (result.Errors != null)
            {
                return(BadRequest(result.Errors));
            }
            return(Ok(result.Data));
        }
        private async Task <Administrator> UpdateEntity(Administrator entity, AdministratorRequest newEntity)
        {
            if (entity.Password != PasswordService.GeneratePassword(newEntity.Password))
            {
                entity.Password = PasswordService.GeneratePassword(newEntity.Password);
            }

            if (entity.Name != newEntity.Name)
            {
                entity.Name = newEntity.Name;
            }

            if (entity.Email != newEntity.Email)
            {
                entity.Email = newEntity.Email;
            }

            return(await _administratorRepository.Update(entity));
        }
        public async Task <ActionResult <ReturnResponse> > PostAdministrator([FromBody] AdministratorRequest administratorRequest)
        {
            var dbTransaction = await _dataContext.Database.BeginTransactionAsync();

            var result = await _administratorRepository.CreateAdministrator(administratorRequest);

            if (result.StatusCode == Utils.Success)
            {
                result.ObjectValue = _mapper.Map <AdministratorResponse>((Administrator)result.ObjectValue);
                await dbTransaction.CommitAsync();

                return(StatusCode(StatusCodes.Status200OK, result.ObjectValue));
            }
            else
            {
                await dbTransaction.RollbackAsync();

                return(StatusCode(StatusCodes.Status400BadRequest, result));
            }
        }
示例#7
0
        public async Task <ReturnResponse> CreateAdministrator(AdministratorRequest administratorRequest)
        {
            //REGISTER Administrator
            if (administratorRequest == null)
            {
                return(new ReturnResponse()
                {
                    StatusCode = Utils.ObjectNull,
                    StatusMessage = Utils.StatusMessageObjectNull
                });
            }

            if (string.IsNullOrWhiteSpace(administratorRequest.EmailAddress) || string.IsNullOrWhiteSpace(administratorRequest.FullName))
            {
                return(new ReturnResponse()
                {
                    StatusCode = Utils.ObjectNull,
                    StatusMessage = Utils.StatusMessageObjectNull
                });
            }

            var roleToFind = await _roleManager.FindByIdAsync(Convert.ToString(administratorRequest.RoleId));

            if (roleToFind == null)
            {
                return(new ReturnResponse()
                {
                    StatusCode = Utils.NotFound,
                    StatusMessage = "Role Not Found"
                });
            }

            if (await _authRepository.UserEmailExists(administratorRequest.EmailAddress))
            {
                return(new ReturnResponse()
                {
                    StatusCode = Utils.ObjectExists,
                    StatusMessage = "Email already exist(s)!"
                });
            }

            var Administrator = new Administrator
            {
                EmailAddress = administratorRequest.EmailAddress,
                FullName     = administratorRequest.FullName
            };

            var user = new User
            {
                UserName = administratorRequest.EmailAddress,
                Email    = administratorRequest.EmailAddress,
                //UserTypeId = Administrator.AdministratorId,
                UserType      = Utils.Administrator,
                Administrator = Administrator
            };

            var password = _helper.RandomPassword();
            var result   = await _userManager.CreateAsync(user, password);

            if (result.Succeeded)
            {
                //UPDATE USERTYPEID IN USER TABLE
                user.UserTypeId = Administrator.AdministratorId;
                var updateResult = await _userManager.UpdateAsync(user);

                if (!updateResult.Succeeded)
                {
                    return(new ReturnResponse()
                    {
                        StatusCode = Utils.NotSucceeded,
                        StatusMessage = Utils.StatusMessageNotSucceeded
                    });
                }

                //ASSIGN ROLES FROM THE REQUEST DTO TO USER
                var assignmentResult = await _roleManagementRepository.AssignRolesToUser(new RoleUserAssignmentRequest()
                {
                    Users = new List <int>()
                    {
                        user.Id
                    },
                    Roles = new List <int>()
                    {
                        administratorRequest.RoleId
                    }
                });

                if (assignmentResult.StatusCode == Utils.Success)
                {
                    var userTokenVal = await _userManager.GenerateEmailConfirmationTokenAsync(user);

                    string hashedEmail           = _authRepository.GetHashedEmail(user.Email);
                    string fullToken             = userTokenVal + "#" + hashedEmail;
                    var    emailVerificationLink = _authRepository.GetUserEmailVerificationLink(fullToken);
                    if (emailVerificationLink == null)
                    {
                        return(new ReturnResponse()
                        {
                            StatusCode = Utils.ObjectNull,
                            StatusMessage = "Could not generate Email Verification Link"
                        });
                    }

                    var emailMessage1 = $"Your default password is {password}. It is recommended that you change this password after Confirming your Account and Logging In.";
                    var boldedPasswordEmailMessage = Regex.Replace(emailMessage1, password, @"<b>$0</b>", RegexOptions.IgnoreCase);
                    var emailMessage2 = "Please click the button below to complete your registration and activate your account.";
                    var emailBody     = _globalRepository.GetMailBodyTemplate(Administrator.FullName, "", emailVerificationLink, boldedPasswordEmailMessage, emailMessage2, "activation.html");
                    var emailSubject  = "CONFIRM YOUR EMAIL ADDRESS";
                    //SEND MAIL TO ADMINISTRATOR TO VERIFY EMAIL
                    MailModel mailObj  = new MailModel(_configuration.GetValue <string>("MercuryMartEmailAddress"), _configuration.GetValue <string>("MercuryMartEmailName"), Administrator.EmailAddress, emailSubject, emailBody);
                    var       response = await _mailRepository.SendMail(mailObj);

                    if (!response.StatusCode.Equals(HttpStatusCode.Accepted))
                    {
                        return(new ReturnResponse()
                        {
                            StatusCode = Utils.MailFailure,
                            StatusMessage = "Error Occured while sending Mail to Administrator"
                        });
                    }

                    var administratorToReturn = await GetAdministrators(Administrator.AdministratorId);

                    if (administratorToReturn.StatusCode != Utils.Success)
                    {
                        return(new ReturnResponse()
                        {
                            StatusCode = Utils.NotSucceeded,
                            StatusMessage = "Error Occured while Fetching Administrator Information"
                        });
                    }

                    return(new ReturnResponse()
                    {
                        StatusCode = Utils.Success,
                        ObjectValue = (Administrator)administratorToReturn.ObjectValue,
                        StatusMessage = "Administrator Created Successfully!!!"
                    });
                }

                return(new ReturnResponse()
                {
                    StatusCode = Utils.NotSucceeded,
                    StatusMessage = "Error Occured while saving Administrator Information"
                });
            }

            return(new ReturnResponse()
            {
                StatusCode = Utils.NotSucceeded,
                StatusMessage = "Error Occured while saving Administrator Information"
            });
        }