public string ChartByHeadDepartment(int Id, ClaimsPrincipal User) { Expression <Func <Departement, object> >[] Includes = new Expression <Func <Departement, object> > [1]; Includes[0] = pack => pack.Head; var Department = _department.GetAll(Includes).Where(x => x.Head.Id == Id).OrderBy(x => x.Name).Select(x => new { x.Id, x.Name }).ToList(); object[] Data = new object[Department.Count()]; int i = 0; if (Department.Any()) { foreach (var row in Department) { int j = 0; var SubDept = _departementSub.GetAll().Where(x => x.DepartmentId == row.Id).OrderBy(x => x.SubName).Select(x => new { x.Id, x.SubName }).ToList(); object[] SubData = new object[SubDept.Count()]; if (SubDept.Any()) { foreach (var s in SubDept) { SubData[j] = new Dictionary <string, object> { { "Id", s.Id }, { "Name", s.SubName.ToUpper() }, { "Data", AllSrfChart(Id, User, null, s.Id) } }; j++; } } Data[i] = new Dictionary <string, object> { { "Id", row.Id }, { "Name", row.Name.ToUpper() }, { "SubData", SubData }, { "Data", AllSrfChart(Id, User, row.Id, null) } }; i++; } } return(JsonConvert.SerializeObject(Data)); }
public IActionResult Add(Guid id) { try { var srf = Service.GetById(id); var Candidate = _candidate.GetById(srf.CandidateId); var Vacancy = _vacancy.GetById(Candidate.VacancyId); var CurrentSSO = _ssow.GetById(Vacancy.ServicePackId); var Departement = _department.GetById(Vacancy.DepartmentId); ViewBag.Candidate = Candidate; ViewBag.Vacancy = Vacancy; ViewBag.Departement = Departement; ViewBag.SSOW = CurrentSSO; ViewBag.SCategory = _ssowCategory.GetById(CurrentSSO.ServicePackCategoryId); ViewBag.JobsStage = _jobStage.GetById(Vacancy.JobStageId); ViewBag.ListDepartement = _department.GetAll().ToList(); if (Departement.OperateOrNon == 1) { ViewBag.HeadOperation = _userHelper.GetByRoleName("Head Of Operation").ToList(); } else { ViewBag.HeadOperation = _userHelper.GetByRoleName("Head Of Non Operation").ToList(); } ViewBag.ListServiceLine = _userHelper.GetByRoleName("Head Of Service Line").ToList(); ViewBag.ListServiceCordinator = _userHelper.GetByRoleName("Service Coordinator").ToList(); ViewBag.ListHeadOperation = _userHelper.GetByRoleName("Head Of Operation").ToList(); ViewBag.ListHeadNonOperation = _userHelper.GetByRoleName("Head Of Non Operation").ToList(); ViewBag.ListHeadSourcing = _userHelper.GetByRoleName("Head Of Sourcing").ToList(); ViewBag.ListAccount = _account.GetAll().ToList(); ViewBag.ListSubDepartment = _departmentSub.GetAll().Where(x => x.DepartmentId.Equals(srf.DepartmentId)).ToList(); ViewBag.ListCostCenter = _costCenter.GetAll().Where(x => x.DepartmentId.Equals(srf.DepartmentId)).ToList(); ViewBag.ListNetwork = _network.GetAll().Where(x => x.DepartmentId.Equals(srf.DepartmentId)).ToList(); //ViewBag.ListSSOW = _ssow.GetAll().Where(x => x.Type.Equals(CurrentSSO.Type)).ToList(); ViewBag.PackageType = _packageType.GetAll().ToList(); ViewBag.ServicePackCategory = _ssowCategory.GetAll().ToList(); ViewBag.BasicServiceLevel = new List <int>(new int[] { 0, 20, 30, 40 }).Select(x => new { Id = x, Name = x.ToString() }); Dictionary <string, bool> ws = new Dictionary <string, bool>(); ws.Add("No", false); ws.Add("Yes", true); Dictionary <string, bool> com = new Dictionary <string, bool>(); com.Add("No USIM", false); com.Add("USIM", true); ViewBag.WorkstationService = ws.Select(x => new { Id = x.Value, Name = x.Key.ToString() }).ToList(); ViewBag.CommunicationService = com.Select(x => new { Id = x.Value, Name = x.Key.ToString() }).ToList(); var ProfileId = _userHelper.GetLoginUser(User).Id; ViewBag.ProfileId = ProfileId; if (srf != null) { var Model = new EscalationModelForm(); Model.Srf = Mapper.Map <SrfRequestModelForm>(srf); Model.SrfId = id; return(View(Model)); } } catch (Exception e) { return(Content(e.ToString())); } return(NoContent()); }
public override IActionResult Edit(Guid id) { try { var item = Service.GetById(id); var Vacancy = _vacancy.GetById(_candidate.GetById(item.CandidateId).VacancyId); var Departement = _department.GetById(item.DepartmentId); var PackageType = _packageType.GetById(Vacancy.PackageTypeId); ViewBag.PriceType = PackageType.Name; ViewBag.Vacancy = Vacancy; ViewBag.Candidate = _candidate.GetById(item.CandidateId); ViewBag.Departement = _department.GetById(item.DepartmentId); ViewBag.SSOW = _ssow.GetById(item.ServicePackId); ViewBag.SCategory = _ssowCategory.GetById(_ssow.GetById(item.ServicePackId).ServicePackCategoryId); ViewBag.JobsStage = _jobStage.GetById(Vacancy.JobStageId); ViewBag.ListDepartement = _department.GetAll().ToList(); if (Departement.OperateOrNon == 1) { ViewBag.HeadOperation = _userHelper.GetByRoleName("Head Of Operation").ToList(); } else { ViewBag.HeadOperation = _userHelper.GetByRoleName("Head Of Non Operation").ToList(); } ViewBag.isOperation = Departement.OperateOrNon; ViewBag.ListServiceLine = _userHelper.GetByRoleName("Head Of Service Line").ToList(); ViewBag.ListServiceCordinator = _userHelper.GetByRoleName("Service Coordinator").ToList(); ViewBag.ListAccount = _account.GetAll().ToList(); ViewBag.ListSubDepartment = _departmentSub.GetAll().Where(x => x.DepartmentId.Equals(item.DepartmentId)).ToList(); ViewBag.ListCostCenter = _costCenter.GetAll().Where(x => x.DepartmentId.Equals(item.DepartmentId)).ToList(); ViewBag.ListNetwork = _network.GetAll().Where(x => x.DepartmentId.Equals(item.DepartmentId) && x.IsClosed == false).ToList(); ViewBag.Id = id; ViewBag.isOperation = Departement.OperateOrNon; ViewBag.txtOperaion = (Departement.OperateOrNon == 1) ? "Operational" : "Non Operational"; ViewBag.FormDisable = 1; ViewBag.SrfNumber = Service.GenerateNumnber(); ViewBag.NowYear = DateTime.Now.Year.ToString("yy"); // Aditional Dictionary<string, int> ws = new Dictionary<string, int>(); ws.Add("No", 0); ws.Add("Yes", 1); Dictionary<string, bool> com = new Dictionary<string, bool>(); com.Add("No USIM", false); com.Add("USIM", true); Dictionary<string, bool> sign = new Dictionary<string, bool>(); sign.Add("Non-HRMS", false); sign.Add("HRMS", true); Dictionary<string, bool> manager = new Dictionary<string, bool>(); manager.Add("Manager", true); manager.Add("Non Manager", false); ViewBag.PackageType = _packageType.GetAll().ToList(); ViewBag.ServicePackCategory = _ssowCategory.GetAll().ToList(); ViewBag.ServicePack = _ssow.GetAll().Where(x => x.Type == (PackageTypes)Enum.Parse(typeof(PackageTypes), PackageType.Name)).ToList(); ViewBag.BasicServiceLevel = new List<int>(new int[] { 0, 20, 30, 40 }).Select(x => new { Id = x, Name = x.ToString() }); ViewBag.WorkstationService = ws.Select(x => new { Id = x.Value, Name = x.Key.ToString() }).ToList(); ViewBag.CommunicationService = com.Select(x => new { Id = x.Value, Name = x.Key.ToString() }).ToList(); ViewBag.Signum = sign.Select(x => new { Id = x.Value, Name = x.Key.ToString() }).ToList(); ViewBag.IsManager = manager.Select(x => new { Id = x.Value, Name = x.Key.ToString() }).ToList(); ViewBag.Jobstage = _jobStage.GetAll().Where(x => !string.IsNullOrEmpty(x.Description)).ToList(); ViewBag.ListAgency = _userHelper.GetByRoleName("HR Agency").ToList(); ViewBag.ListActivity = _activity.GetAll().ToList(); ViewBag.ListExtended = Service.GetAll().Where(x => x.CandidateId.Equals(item.CandidateId) && x.SrfEnd >= item.SrfBegin).ToList(); ViewBag.ListLineManager = _userHelper.GetByRoleName("Line Manager").ToList(); ViewBag.ListHeadOfSourcing = _userHelper.GetByRoleName("Head Of Sourcing").ToList(); ViewBag.ListSrfStatus = new List<SrfApproveStatus>(new SrfApproveStatus[] { SrfApproveStatus.Waiting, SrfApproveStatus.Approved }).Select(x => new { Id = x, Name = x.ToString() }); ViewBag.ListTypeSRF = new List<SrfType>(new SrfType[] { SrfType.New, SrfType.Extension }).Select(x => new { Id = x, Name = x.ToString() }); ViewBag.LisStatusSrf = new List<SrfStatus>(new SrfStatus[] { SrfStatus.Done,SrfStatus.Terminate,SrfStatus.Blacklist }).Select(x => new { Id = x, Name = x.ToString() }); var Model = Mapper.Map<SrfRequestModelForm>(item); Model.FormVacancy = Mapper.Map<VacancyListFormModel>(Vacancy); if(item.Status == SrfStatus.Waiting) { Model.Status = SrfStatus.Done; } var CandidateInfo = _candidate.GetById(item.CandidateId); if(CandidateInfo!=null) { Model.AgencyId = CandidateInfo.AgencyId.Value; } var Esc = _escalation.GetAll().Where(x => x.SrfId.Equals(id)).FirstOrDefault(); if(Esc==null) { ViewBag.IsEscalation = false; } else { ViewBag.IsEscalation = true; } return View(Model); } catch (Exception e) { return Content(e.ToString()); } }
private void VacancyAndCandidate() { Data dt = new Data("vacany_candidate"); foreach (var row in dt.GetData()) { int index = 1; var Data = (List <String>)row; var Org = _department.GetAll().Where(x => Truncate(x.Name) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var SubOrg = _departmentSub.GetAll().Where(x => Truncate(x.SubName) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var CostCr = _costCenter.GetAll().Where(x => Truncate(x.Code) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var AnnName = _account.GetAll().Where(x => Truncate(x.Name) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var Net = _networkNumber.GetAll().Where(x => Truncate(x.Code) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; if (Net == null) { Net = _networkNumber.GetAll().OrderBy(x => Guid.NewGuid()).FirstOrDefault(); } var JoinDate = DateTime.Parse(Data[index].ToString()); index += 1; var PackageType = _packageType.GetAll().Where(x => Truncate(x.Name) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var SsowCategory = _ssow_category.GetAll().Where(x => Truncate(x.Name) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var Ssow = _ssow.GetAll().Where(x => Truncate(x.Name) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var BasiServiceLevel = int.Parse(Data[index].ToString()); index += 1; var IsWorkstation = int.Parse(Data[index].ToString()); index += 1; var IsUsim = int.Parse(Data[index].ToString()); index += 1; var IsManager = int.Parse(Data[index].ToString()); index += 1; var NormalRate = int.Parse(Data[index].ToString()); index += 1; var IsSignum = int.Parse(Data[index].ToString()); index += 1; var Jobstage = _jobstage.GetAll().Where(x => Truncate(x.Stage) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var LineManager = _userProfile.GetAll().Where(x => Truncate(x.Name) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var Sourcing = _userProfile.GetAll().Where(x => Truncate(x.Email) == Truncate(Data[index].ToString())).FirstOrDefault(); index += 1; var NewVacancy = new VacancyList(); NewVacancy.AccountName = AnnName; NewVacancy.ApproverOne = LineManager; NewVacancy.ApproverTwo = Sourcing; NewVacancy.CostCenter = CostCr; NewVacancy.CreatedAt = JoinDate; NewVacancy.Departement = Org; NewVacancy.DepartementSub = SubOrg; NewVacancy.JobStage = Jobstage; NewVacancy.JoinDate = JoinDate; NewVacancy.Network = Net; NewVacancy.NoarmalRate = NormalRate; NewVacancy.OtLevel = BasiServiceLevel; NewVacancy.RequestBy = LineManager; NewVacancy.PackageType = PackageType; NewVacancy.ServicePackCategory = SsowCategory; NewVacancy.ServicePack = Ssow; NewVacancy.Status = VacanStatusFive.Done; NewVacancy.VacancyStatus = ApproverStatus.Completed; NewVacancy.isHrms = IsSignum == 1 ? true : false; NewVacancy.isLaptop = IsWorkstation == 1 ? true : false; NewVacancy.isManager = IsManager == 1 ? true : false; NewVacancy.isUsim = IsUsim == 1 ? true : false; NewVacancy.StatusOne = VacanStatusFirst.Selected; NewVacancy.StatusTwo = VacanStatusSecond.Approved; NewVacancy.StatusThree = VacanStatusThirth.Done; NewVacancy.StatusFourth = VacanStatusFourth.Approved; var AgencyType = int.Parse(Data[index].ToString()); index += 1; var CandidateName = Data[index].ToString(); index += 1; var NickName = Data[index].ToString(); index += 1; var Email = Data[index].ToString(); index += 1; var IdNumber = Data[index].ToString(); index += 1; if (IdNumber.Length > 16) { IdNumber = IdNumber.Substring(0, 16); } var Nationality = Data[index].ToString(); index += 1; var PlaceOfBirth = Data[index].ToString(); index += 1; var DateOfBirth = DateTime.Parse(Data[index].ToString()); index += 1; var Address = Data[index].ToString(); index += 1; var Gender = Data[index].ToString(); index += 1; var Martial = Data[index].ToString(); index += 1; var PhoneNMobile = Data[index].ToString(); index += 1; var PhoneHome = Data[index].ToString(); index += 1; var Description = Data[index].ToString(); index += 1; var HomeBase = Data[index].ToString(); index += 1; var AhId = Data[index].ToString(); index += 1; var FormEricsson = int.Parse(Data[index].ToString()); index += 1; var Agency = Data[index].ToString(); var UserCurrent = _userManager.FindByEmailAsync(Email).Result; if (UserCurrent != null) { var delete = _userManager.DeleteAsync(UserCurrent).Result; } var UserAgency = _userProfile.GetAll().Where(x => Truncate(x.Email) == Truncate(Agency)).FirstOrDefault(); var UserProfile = new UserProfile(); UserProfile.Address = Address; UserProfile.Birthdate = DateOfBirth; UserProfile.Email = Email; UserProfile.Gender = Gender.Equals(Truncate("F")) ? Domain.Models.Enum.Gender.Female : Domain.Models.Enum.Gender.Male; UserProfile.HomePhoneNumber = PhoneHome; UserProfile.IdNumber = IdNumber; UserProfile.IsActive = true; UserProfile.MobilePhoneNumber = PhoneNMobile; UserProfile.Name = CandidateName; UserProfile.Roles = "Contractor"; UserProfile.UserName = Email; UserProfile.IsBlacklist = false; UserProfile.IsTerminate = false; UserProfile.AhId = AhId; List <String> Role = new List <string>() { "Contractor" }; ApplicationUser NewUser = new ApplicationUser() { Email = Email, UserName = Email, UserProfile = UserProfile }; var created = _userManager.CreateAsync(NewUser, "welcome1!").Result; if (created.Succeeded) { var addRole = _userManager.AddToRolesAsync(NewUser, Role).Result; if (addRole.Succeeded) { _vacancy.Add(NewVacancy); var code = _userManager.GenerateEmailConfirmationTokenAsync(NewUser).Result; var Succseed = _userManager.ConfirmEmailAsync(NewUser, code).Result; var Candidate = new CandidateInfo(); Candidate.Account = NewUser.UserProfile; Candidate.Address = Address; Candidate.Agency = UserAgency; Candidate.AgencyType = (AgencyType)AgencyType; Candidate.ApproveOneDate = JoinDate; Candidate.ApproveOneStatus = ApproverStatus.Selected; Candidate.ApproveTwoeDate = JoinDate; Candidate.CreatedAt = JoinDate; Candidate.Email = Email; Candidate.Gender = Gender.Equals(Truncate("F")) ? Domain.Models.Enum.Gender.Female : Domain.Models.Enum.Gender.Male; Candidate.HomePhoneNumber = PhoneNMobile; Candidate.IdNumber = IdNumber; Candidate.IsCandidate = false; Candidate.IsContractor = true; Candidate.IsUser = true; Candidate.Martial = (Martial)Enum.Parse(typeof(Martial), Martial, true); Candidate.MobilePhoneNumber = PhoneNMobile; Candidate.Name = CandidateName; Candidate.Nationality = Nationality; Candidate.NickName = NickName; Candidate.PlaceOfBirth = PlaceOfBirth; Candidate.DateOfBirth = DateOfBirth; Candidate.RequestBy = UserAgency; Candidate.ApproveTwoStatus = ApproverStatus.Completed; Candidate.Vacancy = NewVacancy; _candidate.Add(Candidate); if (Candidate != null) { Console.WriteLine(Email + " has been added "); } Count++; } } } Console.WriteLine(Count + " Candidate record has been saved "); }
public async Task <IActionResult> Import(IFormFile file) { var uploads = System.IO.Path.Combine(_environment.WebRootPath, "temp"); file = Request.Form.Files[0]; using (var fileStream = new FileStream(System.IO.Path.Combine(uploads, file.FileName), FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) { await file.CopyToAsync(fileStream); try { using (var Stream = new FileStream(System.IO.Path.Combine(uploads, file.FileName), FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite)) { using (ExcelPackage package = new ExcelPackage(Stream)) { ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; int rowCount = worksheet.Dimension.Rows; int ColCount = worksheet.Dimension.Columns; for (int row = 2; row <= rowCount; row++) { if (worksheet.Cells[row, 1].Value != null && worksheet.Cells[row, 2].Value != null && worksheet.Cells[row, 3].Value != null && worksheet.Cells[row, 4].Value != null) { var Dept = worksheet.Cells[row, 1].Value.ToString(); var Approved = worksheet.Cells[row, 2].Value.ToString(); var Forecast = worksheet.Cells[row, 3].Value.ToString(); var DateSrf = worksheet.Cells[row, 4].Value.ToString(); #region Department var Department = _dept.GetAll().Where(x => _excel.TruncateString(x.Name) == _excel.TruncateString(Dept)).FirstOrDefault(); if (Department != null) { var TcDept = Service.GetAll().Where(x => x.DepartmentId.Equals(Department.Id)).FirstOrDefault(); if (TcDept == null) { TacticalResource tp = new TacticalResource(); tp.Approved = int.Parse(Approved); tp.Forecast = int.Parse(Forecast); tp.DateSrf = DateTime.Parse(DateSrf); tp.DepartmentId = Department.Id; tp.CreatedAt = DateTime.Now; tp.CreatedBy = _userHelper.GetUserId(User); tp.CountSrf = 0; Service.Add(tp); } else { TcDept.Approved = int.Parse(Approved); TcDept.Forecast = int.Parse(Forecast); TcDept.DateSrf = DateTime.Parse(DateSrf); TcDept.LastUpdateTime = DateTime.Now; TcDept.LastEditedBy = _userHelper.GetUserId(User); TcDept.CountSrf = 0; Service.Update(TcDept); } } #endregion #region DepartmentSub var DepartmentSub = _deptSub.GetAll().Where(x => _excel.TruncateString(x.SubName) == _excel.TruncateString(Dept)).FirstOrDefault(); if (DepartmentSub != null) { var TcDept = Service.GetAll().Where(x => x.DepartmentSubId.Equals(DepartmentSub.Id)).FirstOrDefault(); if (TcDept == null) { TacticalResource tp = new TacticalResource(); tp.Approved = int.Parse(Approved); tp.Forecast = int.Parse(Forecast); tp.DateSrf = DateTime.Parse(DateSrf); tp.DepartmentId = DepartmentSub.DepartmentId; tp.DepartmentSubId = DepartmentSub.Id; tp.CountSrf = 0; Service.Add(tp); } else { TcDept.Approved = int.Parse(Approved); TcDept.Forecast = int.Parse(Forecast); TcDept.DateSrf = DateTime.Parse(DateSrf); TcDept.CountSrf = 0; Service.Update(TcDept); } } #endregion } } } } } catch (Exception ex) { TempData["Messages"] = ex.ToString(); } } TempData["Messages"] = "Data has been updated"; System.IO.File.Delete(System.IO.Path.Combine(uploads, file.FileName)); return(RedirectToAction("Index")); }
public IActionResult GetOptionFormSrf(string id) { var Dept = _department.GetById(Guid.Parse(id)); Dictionary <string, object> Data = new Dictionary <string, object>(); String DepartmentSub = "<option disabled selected>-- Select Sub Organizational Unit --</option>"; var ListDepartmentSub = _departmentSub.GetAll().Where(x => x.DepartmentId.Equals(Guid.Parse(id))).ToList(); foreach (var row in ListDepartmentSub) { if (ListDepartmentSub.Count == 1) { DepartmentSub += "<option value='" + row.Id + "' selected>" + row.SubName + "</option>"; } else { DepartmentSub += "<option value='" + row.Id + "'>" + row.SubName + "</option>"; } } DepartmentSub += "<option></option>"; String CostCenter = "<option disabled selected>-- Select Cost Center --</option>"; var ListCostCenter = _costCenter.GetAll().Where(x => x.DepartmentId.Equals(Guid.Parse(id))).ToList(); foreach (var row in ListCostCenter) { if (ListCostCenter.Count == 1) { CostCenter += "<option value='" + row.Id + "' selected>" + row.DisplayName + "</option>"; } else { CostCenter += "<option value='" + row.Id + "'>" + row.DisplayName + "</option>"; } } CostCenter += "<option></option>"; String NetworkNumber = "<option disabled selected>-- - Select Network Number -- --</option>"; var ListNetworkNumber = _networkNumber.GetAll().Where(x => x.DepartmentId.Equals(Guid.Parse(id))).ToList(); foreach (var row in ListNetworkNumber) { if (ListNetworkNumber.Count == 1) { NetworkNumber += "<option value='" + row.Id + "' selected>" + row.DisplayName + "</option>"; } else { NetworkNumber += "<option value='" + row.Id + "'>" + row.DisplayName + "</option>"; } } NetworkNumber += "<option></option>"; Data.Add("DepartementSub", DepartmentSub); Data.Add("CostCenter", CostCenter); Data.Add("NetworkNumber", NetworkNumber); if (Dept.OperateOrNon == 1) { Data.Add("IsOperation", true); } else { Data.Add("IsOperation", false); } return(Ok(Data)); }