Exemple #1
0
        public ActionResult Create()
        {
            var model = new EmployeeFormModel()
            {
                BDay = DateTime.Now
            };

            model.InitMembers(GetSession);

            return(View(model));
        }
Exemple #2
0
        public ActionResult Create(EmployeeFormModel model)
        {
            if (ModelState.IsValid)
            {
                var item = Mapper.Map <EmployeeFormModel, Employee>(model);
                GetSession.Save(item);
                return(RedirectToAction("List"));
            }

            model.InitMembers(GetSession);

            return(View(model));
        }
Exemple #3
0
        public IActionResult Update(EmployeeFormModel EmployeeToBeEdited)
        {
            if (User.IsInRole("Admin") == false)
            {
                return(RedirectToAction("Index", "Home"));
            }
            FlightData.Models.Employee _employee   = _employees.GetById(EmployeeToBeEdited.Id);
            FlightData.Models.Employee newEmployee = new FlightData.Models.Employee
            {
                Id         = EmployeeToBeEdited.Id,
                FirstName  = EmployeeToBeEdited.FirstName,
                LastName   = EmployeeToBeEdited.LastName,
                Job        = EmployeeToBeEdited.Job,
                TotalHours = EmployeeToBeEdited.TotalHours
            };

            _employees.Update(_employee.Id, newEmployee);
            return(RedirectToAction("Index", "Employee"));
        }
        public EmployeeFormModel GetEmployeeFormData(BaseViewModel model)
        {
            IUnitOfWork       uwork    = new UnitOfWork();
            EmployeeFormModel formData = new EmployeeFormModel();

            ICountryService countrySerivce = new CountryService(new CountryRepository(uwork));
            //  IDivisionService divisionService = new DivisionService(new DivisionRepository(uwork));
            IDepartmentService  departmentService = new DepartmentService(new DepartmentRepository(uwork));
            IRoleService        roleService       = new RoleService(new RoleRepository(uwork));
            IBranchService      branchService     = new BranchService(new BranchRepository(uwork));
            IBankService        bankService       = new BankService(new BankRepository(uwork));
            IBankBranchService  bankBranchService = new BankBranchSerivce(new BankBranchRepository(uwork));
            IBankAccountService banAccService     = new BankAccountService(new BankAccountRepository(uwork));
            ILanguageService    langService       = new LanguageService(new LanguageRepository(uwork));
            IApplicationService appService        = new ApplicationService(new ApplicationRepository(uwork));

            basemodel.CurrentCulture = model.CurrentCulture;
            basemodel.CurrentUserID  = model.CurrentUserID;

            var  LastEmployee = GetEmployeeList(basemodel).LastOrDefault();
            long NextID       = LastEmployee == null ? 0 : LastEmployee.RegistrationID + 1;

            try
            {
                formData.countries = countrySerivce.GetAllCountryList(model).Where(c => c.IsActive == true).ToList();
                // formData.divisions = divisionService.GetDivisionList(model);
                formData.departments      = departmentService.GetAllDepartmentList(model).Where(c => c.IsActive == true).ToList();
                formData.roles            = roleService.GetAllRoleList(model).Where(c => c.IsActive == true).ToList();
                formData.branches         = branchService.GetAllBranchList(model).Where(c => c.IsActive == true).ToList();
                formData.banks            = bankService.GetAllBankList(model).Where(c => c.IsActive == true).ToList();
                formData.bankbranches     = bankBranchService.GetAllBankBranchList(model).Where(c => c.IsActive == true).ToList();
                formData.bankAccountTypes = banAccService.GetAllBankAccountType(model).Where(c => c.IsActive == true).ToList();
                formData.languages        = langService.GetAllLanguageList(model).Where(c => c.IsActive == true).ToList();
                //formData.EmployeeNo = Helper.GenerateUniqueID(appService.GetApplicationCode(model.ApplicationId), NextID.ToString());
            }
            catch (Exception ex)
            {
                string message = LogException(ex, model.CurrentUserID);
                throw new Exception(message);
            }
            return(formData);
        }
Exemple #5
0
        // UPDATE
        public IActionResult Edit(int id)
        {
            if (User.IsInRole("Admin") == false)
            {
                return(RedirectToAction("Index", "Home"));
            }
            var employeeModel = _employees.GetById(id);

            var formData = new EmployeeFormModel
            {
                Id             = id,
                FirstName      = employeeModel.FirstName,
                LastName       = employeeModel.LastName,
                Job            = employeeModel.Job,
                EmployeeNumber = employeeModel.EmployeeNumber,
                TotalHours     = employeeModel.TotalHours
            };

            return(View(formData));
        }
Exemple #6
0
 public async Task <IActionResult> Edit(int id, EmployeeFormModel model)
 => await this.HandleAsync(async() =>
                           await this.employeeService.Edit(id, this.mapper.Map <InputEmployeeServiceModel>(model)),
                           success : RedirectToAction(nameof(Index)),
                           failure : View(model));
        public ActionResult UpdateEmployees()
        {
            ////-----------------
            //string filePaths = @"E:\Users\max\Desktop\Development\ON AIR SITES\New Sites Online_Alex\Zoglobek PORTAL\Source\Portal.Web.UI.Application\Public\userfiles\SOGPORTAL.xlsx";


            //string strFile = @"E:\Users\max\Desktop\Development\ON AIR SITES\New Sites Online_Alex\Zoglobek PORTAL\Source\Portal.Web.UI.Application\Public\userfiles\SOGPORTAL.xlsx";

            //string strTemp = Path.GetExtension(strFile).ToLower();

            //if (strTemp == ".xls")
            //{
            //    strFile = Path.ChangeExtension(strFile, "xlsx");
            //}



            //foreach (string myfile in filePaths)
            //{
            //    filename = Path.ChangeExtension(myfile, ".txt");
            //    System.IO.File.Move(myfile, filename);
            //}


            ////------------------



            Log newLog = new Log();

            newLog.id = Guid.NewGuid();


            int    added    = 0;
            int    deleted  = 0;
            int    updated  = 0;
            int    errors   = 0;
            int    warnings = 0;
            string result   = "";


            int    logg = 0;
            string name = "";

            try
            {
                var excel = new ExcelQueryFactory();

                string[] ex_names = MvcApplication.Config("excel_name").Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries);



                //insert all employees from excel to temp list<>
                List <string> excel_emp_id = new List <string>();



                for (int ex_name = 0; ex_name < ex_names.Length; ex_name++)
                {
                    excel.FileName = ex_names[ex_name];

                    //employees from excel
                    var result_employees = from c
                                           in excel.WorksheetNoHeader(0)
                                           select c;



                    List <Employee> employees = new List <Employee>();



                    UpdateJobs();
                    UpdateDepartments();

                    //Dictionary
                    Dictionary <string, long> dep_dict = new Dictionary <string, long>();


                    //existing Department from db
                    List <Department> existing_deps = (List <Department>)GetSession.QueryOver <Department>().List();


                    foreach (Department dep in existing_deps)
                    {
                        dep_dict.Add(dep.Name, dep.Id);
                    }


                    //get all employees to dictinary
                    Dictionary <string, long> emps_dict = new Dictionary <string, long>();



                    Dictionary <string, long> job_dict = new Dictionary <string, long>();

                    //existing Jobs from db
                    List <JobTitle> existing_jobs = (List <JobTitle>)GetSession.QueryOver <JobTitle>().List();

                    foreach (JobTitle job in existing_jobs)
                    {
                        job_dict.Add(job.Name, job.Id);
                    }


                    Dictionary <string, string> users_managers = new Dictionary <string, string>();

                    //result_employees -> employees from excel
                    int i = 0;
                    foreach (var employee in result_employees)
                    {
                        //check for must feilds
                        if (!string.IsNullOrEmpty(employee[1].ToString().Trim()) &&
                            !string.IsNullOrEmpty(employee[2].ToString().Trim()) &&
                            !string.IsNullOrEmpty(employee[13].ToString().Trim()) &&
                            !string.IsNullOrEmpty(employee[0].ToString().Trim()))
                        {
                            logg++;
                            name = employee[0];


                            if (i > 0 && !string.IsNullOrEmpty(employee[0].ToString().Trim()))
                            {
                                //check for wanted feilds
                                if (string.IsNullOrEmpty(employee[5].ToString().Trim()) || string.IsNullOrEmpty(employee[7].ToString().Trim()))
                                {
                                    newLog.WarningLines = newLog.WarningLines + (i + 1) + ",";
                                    warnings++;
                                }

                                excel_emp_id.Add(employee[0].ToString().Trim());

                                if (employee[5] != "")
                                {
                                    users_managers.Add(employee[0], employee[5]);
                                }



                                //if employee exists in DB
                                if (GetSession.Get <Employee>(Convert.ToInt64(employee[0].ToString().Trim())) == null)
                                {
                                    //add new employee
                                    string sBirthDate = employee[7].ToString().Trim() ?? "";
                                    //string username = employee[9].ToString().Trim() == "" ?
                                    //  "New User" : employee[9].ToString().Trim().Substring(0, employee[9].ToString().Trim().ToString().IndexOf('@'));
                                    string userName = employee[0].ToString().Trim();


                                    EmployeeFormModel model = new EmployeeFormModel()
                                    {
                                        Id        = Convert.ToInt64(employee[0].ToString().Trim()),
                                        Password  = employee[0].ToString().Trim(),
                                        LastName  = employee[2].ToString().Trim(),
                                        FirstName = employee[1].ToString().Trim(),
                                        Email     = string.IsNullOrEmpty(employee[9].ToString().Trim()) ? "*****@*****.**" : employee[9].ToString().Trim(),
                                        Phone     = employee[10].ToString().Trim(),
                                        Picture   = employee[0].ToString().Trim() + ".jpg",
                                        Mobile    = employee[11].ToString().Trim(),
                                        //Manager = GetSession.Get<Employee>(Convert.ToInt64(employee[5].ToString().Trim())),
                                        Range      = employee[12].ToString().Trim(),
                                        BDay       = (employee[7].ToString().Trim() != "") ? Convert.ToDateTime(sBirthDate) : DateTime.Now,
                                        IsActive   = Convert.ToBoolean(Convert.ToInt32(employee[13].ToString().Trim())),
                                        JbTitle    = GetSession.Get <JobTitle>(job_dict.FirstOrDefault(x => x.Key == employee[8].ToString().Trim()).Value),
                                        Department = GetSession.Get <Department>(dep_dict.FirstOrDefault(x => x.Key == employee[4].ToString().Trim()).Value),
                                        Username   = userName
                                    };

                                    var item = Mapper.Map <EmployeeFormModel, Employee>(model);

                                    GetSession.Save(item);
                                    added++;

                                    // string s = job_dict.FirstOrDefault(employee[3].ToString().Trim()).Key;
                                }
                                else
                                {
                                    //update employee

                                    var    item       = GetSession.Get <Employee>(Convert.ToInt64(employee[0].ToString().Trim()));
                                    var    model      = Mapper.Map <Employee, EmployeeFormModel>(item);
                                    string sBirthDate = employee[7].ToString().Trim().ToString();

                                    string userName = employee[0].ToString().Trim();


                                    model.Password  = employee[0].ToString().Trim();
                                    model.LastName  = employee[2].ToString().Trim();
                                    model.FirstName = employee[1].ToString().Trim();
                                    model.Email     = string.IsNullOrEmpty(employee[9].ToString().Trim()) ? "*****@*****.**" : employee[9].ToString().Trim();
                                    model.Phone     = employee[10].ToString().Trim();
                                    model.Mobile    = employee[11].ToString().Trim();
                                    model.Picture   = employee[0].ToString().Trim() + ".jpg";
                                    model.Range     = employee[12].ToString().Trim();
                                    //model.Manager = GetSession.Get<Employee>(Convert.ToInt64(employee[5].ToString().Trim()));
                                    model.IsActive   = Convert.ToBoolean(Convert.ToInt32(employee[13].ToString().Trim()));
                                    model.BDay       = (employee[7].ToString().Trim() != "") ? Convert.ToDateTime(sBirthDate) : DateTime.Now;
                                    model.JbTitle    = GetSession.Get <JobTitle>(job_dict.FirstOrDefault(x => x.Key == employee[8].ToString().Trim()).Value);
                                    model.Department = GetSession.Get <Department>(dep_dict.FirstOrDefault(x => x.Key == employee[4].ToString().Trim()).Value);
                                    //model.Username = employee[9].ToString().Trim() == "" ? "" : employee[9].ToString().Trim().ToString().Substring(0, employee[9].ToString().Trim().ToString().IndexOf('@'));
                                    model.Username = userName;
                                    Mapper.Map <EmployeeFormModel, Employee>(model, item);
                                    GetSession.Update(item);
                                    updated++;
                                }
                            }
                            i++;
                        }
                        else
                        {
                            newLog.ErrorLines = newLog.ErrorLines + (i + 1) + ",";
                            errors++;
                            i++;
                        }
                    }



                    //TODO
                    //update managers
                    //UpdateManagers(users_managers);
                }



                // bring all existing employees
                List <Employee> current_employees = (List <Employee>)GetSession.QueryOver <Employee>().List();
                foreach (Employee curr_emp in current_employees)
                {
                    // if employee nof found in excel > disactivate this employee
                    if (!excel_emp_id.Contains(curr_emp.Id.ToString()))
                    {
                        if (curr_emp.Username != MvcApplication.Config("admin.Username"))
                        {
                            var item  = GetSession.Get <Employee>(curr_emp.Id);
                            var model = Mapper.Map <Employee, EmployeeFormModel>(item);
                            model.IsActive = false;
                            Mapper.Map <EmployeeFormModel, Employee>(model, item);
                            GetSession.Update(item);

                            deleted++;
                        }
                    }

                    #region 1

                    //if (curr_emp.Username == MvcApplication.Config("admin.Username"))
                    //{
                    //    var item = GetSession.Get<Employee>(curr_emp.Id);
                    //    var model = Mapper.Map<Employee, EmployeeFormModel>(item);


                    //    model.Username = "******";
                    //    model.IsAdmin = true;
                    //    model.IsActive = true;

                    //    Mapper.Map<EmployeeFormModel, Employee>(model, item);
                    //    GetSession.Update(item);
                    //}
                    #endregion
                }
            }
            catch (Exception ex)
            {
                return(Content(ex.Data + ">>>>>" + ex.InnerException + ">>>>>" + ex.Message + " >>>>>>>> line" + logg + "name =" + name));
            }
            result = string.Format("<h3>Update Results</h3><p>New : {0} </p><p>Processed : {1} </p><p>Deleted {2}</p><p>Errors {3}</p><p>Warnings {4}</p>", added, updated, deleted, errors, warnings);


            newLog.Logdate      = DateTime.Now;
            newLog.UpdatedCount = updated;
            newLog.NewEmps      = added.ToString();
            GetSession.Save(newLog);

            TempData["warnings"] = newLog.WarningLines;


            return(RedirectToAction("ProssesResult", new { added = added, updated = updated, deleted = deleted, errors = errors, warningsL = newLog.WarningLines, warnings = warnings }));
            //return Content(result, "text/html");
        }
Exemple #8
0
 public IActionResult Operate(EmployeeFormModel model, IFormFile image)
 {
     if (ModelState.IsValid)
     {
         if (model.Id == 0 || model.Id == null)
         {
             try
             {
                 if (image != null)
                 {
                     string imageBase64Data = ImageOperations.GetBase64FromFile(image);
                     model.Image = imageBase64Data;
                     Employee employee = new Employee
                     {
                         ColorId     = model.ColorId,
                         Detail      = model.Detail,
                         Image       = model.Image,
                         Info        = model.Info,
                         Name        = model.Name,
                         Role        = model.Role,
                         ScreenOrder = model.ScreenOrder
                     };
                     db.Add(employee);
                     db.SaveChanges();
                     return(StatusCode(200, "Eklendi"));
                 }
                 else
                 {
                     ModelState.AddModelError("Error", "Lütfen Resim Ekleyiniz");
                 }
             }
             catch (Exception e)
             {
                 ModelState.AddModelError("error", "Error! An error occurred while Employee creating");
             }
         }
         else
         {
             var employee = db.Employee.Where(q => q.Id == model.Id).FirstOrDefault();
             if (employee == null)
             {
                 ModelState.AddModelError("error", "Unknown Request!");
             }
             else
             {
                 if (image != null)
                 {
                     string imageBase64Data = ImageOperations.GetBase64FromFile(image);
                     employee.Image = imageBase64Data;
                 }
                 employee.Name    = model.Name;
                 employee.Info    = model.Info;
                 employee.Detail  = model.Detail;
                 employee.ColorId = model.ColorId;
                 employee.Role    = model.Role;
                 db.Update(employee);
                 db.SaveChanges();
                 return(StatusCode(200, "Güncellendi!"));
             }
         }
     }
     return(BadRequest(new
     {
         Message = "Some error(s) occurred!",
         StatusCode = 400,
         ModelState = ModelState.ToList()
     }));
 }