예제 #1
0
        // Methods ..................................
        public IActionResult OnGet()
        {
            // From Domain
            EmployeeProfile domainEmpProf = _empPrifileRepo.GetById(1);

            string imageBase64Data = null;
            string imageDataURL    = "https://via.placeholder.com/200";

            if (domainEmpProf.ProfileImageData != null)
            {
                imageBase64Data = Convert.ToBase64String(domainEmpProf.ProfileImageData);
                imageDataURL    = string.Format("data:image/jpg;base64,{0}", imageBase64Data);
            }

            // Domain to Model - assign full file name to property for HTML page
            empProfileModel = new EmployeeProfileModel
            {
                Id                   = domainEmpProf.Id,
                EmployeeName         = domainEmpProf.EmployeeName,
                ProfileImageFilename = imageDataURL,
                ProfileImage         = null
            };

            return(Page());
        }
예제 #2
0
        public ActionResult _InventorySidebar()
        {
            EmployeeProfileModel employeeProfileModel = new EmployeeProfileModel();

            employeeProfileModel.PassportAttached = false;
            return(PartialView(employeeProfileModel));
        }
예제 #3
0
        public EmployeeProfileModel GetProfileEmployee(int id_employee)
        {
            string query = "SELECT employee.id, employee.first_name, employee.last_name, employee.middle_name, employee.age, employee.employee_photo, account.email, employee_post.post, employee_status.status " +
                           "FROM employee " +
                           "LEFT JOIN account ON employee.account=account.id " +
                           "LEFT JOIN employee_post ON employee.employee_post_id = employee_post.id " +
                           "LEFT JOIN employee_status ON employee.employee_status_id = employee_status.id " +
                           "WHERE employee.id = @id_employee";

            command = new MySqlCommand(query, connection);
            command.Parameters.AddWithValue("@id_employee", id_employee);

            MySqlDataReader      dr = command.ExecuteReader();
            EmployeeProfileModel profileEmployee = new EmployeeProfileModel();

            dr.Read();

            profileEmployee.firstName  = dr[1].ToString();
            profileEmployee.lastName   = dr[2].ToString();
            profileEmployee.middleName = dr[3].ToString();
            profileEmployee.age        = dr[4].ToString();
            profileEmployee.photo      = ToolManager.byteArrayToImage((Byte[])dr[5]);
            profileEmployee.email      = dr[6].ToString();
            profileEmployee.post       = dr[7].ToString();
            profileEmployee.status     = dr[8].ToString();

            command.Dispose();
            return(profileEmployee);
        }
예제 #4
0
        public JsonResult SaveProfileData(EmployeeProfileModel model,
                                          [FromServices] IRepository <EmployeeProfile> employeeProfileRepository,
                                          [FromServices] SARH.Core.Configuration.IConfigurationManager configurationManager)
        {
            string employeeFormat = int.Parse(model.EmployeeId).ToString("00000");
            string documentPath   = string.Empty;

            if (!string.IsNullOrEmpty(model.DocumentPath))
            {
                string path = configurationManager.EmployeeProfileDocumentPath.Replace("|EmpNumber|", employeeFormat);
                if (!Directory.Exists(path))
                {
                    Directory.CreateDirectory(path);
                }
                System.IO.File.Delete($"{path}PerfilPuesto.pdf");
                System.IO.File.Move(model.DocumentPath, $"{path}PerfilPuesto.pdf");
                documentPath = $"{path}PerfilPuesto.pdf";
            }

            var row = employeeProfileRepository.SearhItemsFor(l => l.EmployeeId.Equals(model.EmployeeId));

            if (!row.Any())
            {
                employeeProfileRepository.Create(new EmployeeProfile()
                {
                    EmployeeId           = model.EmployeeId,
                    ProfileSectionValues = JsonConvert.SerializeObject(model),
                    DocumentPath         = documentPath
                });
            }
            else
            {
                var  data         = row.FirstOrDefault();
                bool overwriteDoc = false;

                if (!string.IsNullOrEmpty(data.DocumentPath) && !string.IsNullOrEmpty(documentPath))
                {
                    overwriteDoc = true;
                }
                if (string.IsNullOrEmpty(data.DocumentPath) && !string.IsNullOrEmpty(documentPath))
                {
                    overwriteDoc = true;
                }


                data.ProfileSectionValues = JsonConvert.SerializeObject(model);
                data.DocumentPath         = overwriteDoc ? documentPath : data.DocumentPath;
                employeeProfileRepository.Update(data);
            }

            return(Json("Ok"));
        }
예제 #5
0
        public ActionResult EmployeeProfile()
        {
            try
            {
                EmployeeProfileModel employeeProfileModel = new EmployeeProfileModel();
                var employees = from employeeQuery in dynamicsNAVODataServices.dynamicsNAVOData.Employees
                                where employeeQuery.No.Equals(GetEmployeeNo())
                                select employeeQuery;

                foreach (Employees employee in employees)
                {
                    employeeProfileModel.No                = employee.No;
                    employeeProfileModel.EmployeeName      = employee.Full_Name;
                    employeeProfileModel.DateOfBirth       = employee.Birth_Date.Value.ToString("dd-MM-yyyy");
                    employeeProfileModel.Gender            = employee.Gender;
                    employeeProfileModel.MartialStatus     = employee.Marital_Status;
                    employeeProfileModel.Citizenship       = employee.Citizenship;
                    employeeProfileModel.Religion          = employee.Religion;
                    employeeProfileModel.PhoneNumber       = employee.Phone_No;
                    employeeProfileModel.MobilePhoneNumber = employee.Mobile_Phone_No;
                    employeeProfileModel.Address           = employee.Address;
                    employeeProfileModel.Address2          = employee.Address_2;
                    employeeProfileModel.City              = employee.City;
                    employeeProfileModel.EmailAddress      = employee.E_Mail;
                    employeeProfileModel.WorkEmailAddress  = employee.Company_E_Mail;
                    employeeProfileModel.JobNumber         = employee.Job_No;
                    employeeProfileModel.JobTitle          = employee.Job_Title;
                    employeeProfileModel.JobGrade          = employee.Job_Grade;
                    employeeProfileModel.EmployementDate   = employee.Employment_Date.Value.ToString("dd-MM-yyyy");
                    employeeProfileModel.NationalIDNumber  = employee.National_ID_No;
                    employeeProfileModel.PINNumber         = employee.PIN_No;
                    employeeProfileModel.NSSFNumber        = employee.NSSF_No;
                    employeeProfileModel.NHIFNumber        = employee.NHIF_No;
                    //  employeeProfileModel.ProfessionalNumber = employee.Professional_License_No;
                    // employeeProfileModel.ProfessionalLicenceExpiryDate = employee.Professional_License_Expiry.Value.ToString("dd-MM-yyyy");
                    employeeProfileModel.BankName          = employee.Bank_Name;
                    employeeProfileModel.BankBranchName    = employee.Bank_Branch_Name;
                    employeeProfileModel.BankAccountNumber = employee.Bank_Account_No;
                    employeeProfileModel.CountyName        = employee.County_Name;
                    employeeProfileModel.SubcountyName     = employee.SubCounty_Name;
                }
                return(View(employeeProfileModel));
            }
            catch (Exception ex)
            {
                return(errorResponse.ApplicationExceptionError(ex));
            }
        }
예제 #6
0
        public IActionResult EmployeeProfile(string idEmployee,
                                             [FromServices] IRepository <EmployeeProfile> employeeProfileRepository,
                                             [FromServices] IOrganigramaModelFactory organigramaModelFactory)
        {
            EmployeeProfileModel model = new EmployeeProfileModel();
            string employeeFormat      = int.Parse(idEmployee).ToString("00000");
            var    row = employeeProfileRepository.SearhItemsFor(l => l.EmployeeId.TrimStart('0').Equals(employeeFormat.TrimStart('0')));

            if (row.Any())
            {
                var data = row.FirstOrDefault();
                model = JsonConvert.DeserializeObject <EmployeeProfileModel>(data.ProfileSectionValues);
                var info = organigramaModelFactory.GetEmployeeData(idEmployee);
                model.Area         = info.Area;
                model.JobCenter    = info.JobCenter;
                model.Puesto       = info.GeneralInfo.JobTitle;
                model.EmployeeId   = info.GeneralInfo.Id;
                model.Categoria    = info.GeneralInfo.JobCenter;
                model.FirstName    = info.GeneralInfo.FirstName;
                model.LastName     = info.GeneralInfo.LastName;
                model.DocumentPath = data.DocumentPath;
            }
            else
            {
                var info = organigramaModelFactory.GetEmployeeData(idEmployee);
                model.Area       = info.Area;
                model.JobCenter  = info.JobCenter;
                model.Puesto     = info.GeneralInfo.JobTitle;
                model.EmployeeId = info.GeneralInfo.Id;
                model.Categoria  = info.GeneralInfo.JobCenter;
                model.FirstName  = info.GeneralInfo.FirstName;
                model.LastName   = info.GeneralInfo.LastName;
                model.Edad       = (DateTime.Now.Year - DateTime.Parse(info.GeneralInfo.FechaNacimiento).Year).ToString();
                model.Sexo       = info.GeneralInfo.Sexo;
            }

            return(View(model));
        }
예제 #7
0
        public ActionResult _EmployeeProfileSidebar()
        {
            EmployeeProfileModel employeeProfileModel = new EmployeeProfileModel();

            return(PartialView(employeeProfileModel));
        }
예제 #8
0
 public ActionResult EmployeeProfile(EmployeeProfileModel employeeProfileModel)
 {
     return(View(employeeProfileModel));
 }
        public EmployeeProfileViewModel()
        {
            DatabaseModel database = new DatabaseModel();

            employeeProfile = database.GetProfileEmployee(1);
        }