public ActionResult HumanSpec() { var mng = new HRManager(); ViewBag.Spec = mng.GetSpecs(); return(View()); }
public void HRManagerGetDirectReportsNoDirectReports() { HRManager hrManager = new HRManager(); IList <string> directReports = hrManager.GetDirectReports("newemployee"); Assert.AreEqual(0, directReports.Count); }
public ActionResult Spec_remove(string id) { var parameters = AjaxModel.GetAjaxParameters(HttpContext); var mng = new HRManager(); try { if (mng.IsSpecInUse(int.Parse(id))) { return(Json(new { result = false, msg = "Специализация связана с сотрудниками, сначало требуется удалить данную специализацию у сотрудников" }, JsonRequestBehavior.AllowGet)); } else { mng.DeleteSpec(int.Parse(id)); return(Json(new { result = true, msg = "Операция успешна" }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { RDL.Debug.LogError(ex); return(Json(new { result = false, msg = "Ошибка" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult HSpecInline(int pk, string value) { try { var mng = new HRManager(); var idSpec = int.Parse(value.Split('=')[0]); var valSpec = bool.Parse(value.Split('=')[1]); if (valSpec) { mng.SaveHumanSpec(pk, idSpec); } else { mng.DeleteHumanSpec(pk, idSpec); } return(Json(new { result = true, msg = "Операция успешна" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { RDL.Debug.LogError(ex); return(Json(new { result = false, msg = "Ошибка" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Spec_save() { var parameters = AjaxModel.GetAjaxParameters(HttpContext); var mng = new HRManager(); try { var fields = (parameters["fields"] as ArrayList).ToArray().ToList().Select(x => x as Dictionary <string, object>).ToList(); var newSpec = new hr_specializations { id = (AjaxModel.GetValueFromSaveField("id", fields) == "") ? 0 : int.Parse(AjaxModel.GetValueFromSaveField("id", fields)), name = AjaxModel.GetValueFromSaveField("name", fields), code = AjaxModel.GetValueFromSaveField("code", fields) }; mng.SaveSpec(newSpec); return(Json(new { result = newSpec.id > 0, id = newSpec.id, msg = (newSpec.id > 0) ? "Операция успешна" : "Ошибка" }, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { RDL.Debug.LogError(ex); return(Json(new { result = false, id = 0, msg = "Ошибка" }, JsonRequestBehavior.AllowGet)); } }
public ActionResult Statuses_remove(string id) { var parameters = AjaxModel.GetAjaxParameters(HttpContext); var mng = new HRManager(); try { if (mng.GetHumanStatus(int.Parse(id)).hr_humans.Count > 0) { return(Json(new { result = false, msg = "Статус связан с сотрудником, сначало требуется снять данный статус со всех сотрудников" }, JsonRequestBehavior.AllowGet)); } else { mng.DeleteHumanStatus(int.Parse(id)); return(Json(new { result = true, msg = "Операция успешна" }, JsonRequestBehavior.AllowGet)); } } catch (Exception ex) { RDL.Debug.LogError(ex); return(Json(new { result = false, msg = "Ошибка" }, JsonRequestBehavior.AllowGet)); } }
public void HRManagerGetManagerTest() { HRManager hrManager = new HRManager(); string manager = hrManager.GetManager("testuser"); Assert.AreEqual(String.Format(@"{0}\{1}", Environment.MachineName, "spgmanager"), manager); }
public void HRManagerGetCostCenterTest() { HRManager hrManager = new HRManager(); string costCenter = hrManager.GetCostCenter("testuser"); Assert.AreEqual("DEP100", costCenter); }
public void HRManagerGetDirectReportsWithSystemAccount() { HRManager hrManager = new HRManager(); IList <string> directReports = hrManager.GetDirectReports(@"SHAREPOINT\system"); Assert.AreEqual(string.Format(@"{0}\{1}", Environment.MachineName, "spgemployee"), directReports[0]); }
public void HRManagerGetDirectReports() { HRManager hrManager = new HRManager(); IList <string> directReports = hrManager.GetDirectReports(string.Format(@"{0}\{1}", Environment.MachineName, "spgmanager")); Assert.AreEqual(string.Format(@"{0}\{1}", Environment.MachineName, "spgemployee"), directReports[0]); }
// GET: HR public ActionResult Index() { var mng = new HRManager(); ViewBag.statusName = mng.GetHumanStatuses(); ViewBag.sourceName = mng.GetHumanSources(); return(View()); }
public ActionResult HumansInline(int pk, string value, string name) { var mng = new HRManager(); mng.EditHumanField(pk, name, value); return(Json(new { result = true })); }
public void HRManagerGetCostCentersTest() { HRManager hrManager = new HRManager(); IList <string> costCenters = hrManager.GetCostCenters(); Assert.AreEqual(3, costCenters.Count); Assert.AreEqual("DEP100", costCenters[0]); Assert.AreEqual("DEP200", costCenters[1]); Assert.AreEqual("DEP300", costCenters[2]); }
//GET: Contractors public ActionResult Contragents() { var crmManager = new CRMManager(); ViewBag.Clients = crmManager.GetClients(); var hrManager = new HRManager(); ViewBag.Humans = hrManager.GetHumans(); return(View()); }
// GET: Finances public ActionResult Index() { var mng = new FinanceManager(); var mng_hr = new HRManager(); var mng_crm = new CRMManager(); ViewBag.contragentName = mng.GetFinContragents(); ViewBag.typeName = mng.GetFinTypes(); ViewBag.projectName = mng.GetProjects(); ViewBag.statusName = mng.GetFinStatuses(); ViewBag.hrName = mng_hr.GetHumans(); ViewBag.crmName = mng_crm.GetClients(); return(View()); }
public ActionResult HSpec_getItems() { var parameters = AjaxModel.GetParameters(HttpContext); var mng = new HRManager(); var items = mng.GetHumanSpecs(); return(Json(new { items = items.Select(x => new { x.id, fio = x.fio, specIds = "<div class='usHSpec'>" + String.Join(",", x.hr_humanSpecializations.Select(y => ((y.specializationID != null) ? y.specializationID.ToString() : "")).ToArray()) + "</div>" }), total = items.Count }, JsonRequestBehavior.AllowGet)); }
public ActionResult Spec_getItems() { var parameters = AjaxModel.GetParameters(HttpContext); var mng = new HRManager(); var items = mng.GetSpecs(); return(Json(new { items = items.Select(x => new { x.id, name = x.name, code = x.code }), total = items.Count }, JsonRequestBehavior.AllowGet)); }
public ActionResult CreateHuman(string fio, string note, int sourceID, int statusID) { var mng = new HRManager(); int?sourceID_ = null; if (sourceID != 0) { sourceID_ = sourceID; } int?statusID_ = null; if (statusID != 0) { statusID_ = statusID; } var item = new hr_humans { id = 0, fio = fio, city = null, note = note, sourceID = sourceID_, statusID = statusID_, addedBy = null, created = DateTime.Now, subchannel = null, username = null, needActive = null, sourceGuid = null, pay = null, hourRate = null }; mng.SaveHuman(item); return(Json(new { result = item.id > 0, id = item.id })); }
public ActionResult Humans_remove(int id) { var res = false; var mng = new HRManager(); var item = mng.GetHuman(id); var msg = ""; if (item != null) { mng.DeleteHuman(id); msg = "HR удален!"; res = true; } return(Json(new { result = res, msg = msg })); }
public static void HR_management() { //Создаем компании Company AudiCompany = new Company("Audi", 3); AudiCompany.ProfessionsList.Add("бухгалтер", false); AudiCompany.ProfessionsList.Add("водитель", false); AudiCompany.ProfessionsList.Add("слесарь", false); Company MersedesCompany = new Company("Mersedes", 1); MersedesCompany.ProfessionsList.Add("слесарь", false); Company VolksWagenCompany = new Company("VolksWagen", 2); VolksWagenCompany.ProfessionsList.Add("закупщик", false); VolksWagenCompany.ProfessionsList.Add("слесарь", false); Company GMCCompany = new Company("GMC", 2); GMCCompany.ProfessionsList.Add("продавец", false); GMCCompany.ProfessionsList.Add("слесарь", false); List <Company> companyList = new List <Company>(); companyList.Add(AudiCompany); companyList.Add(MersedesCompany); companyList.Add(VolksWagenCompany); companyList.Add(GMCCompany); List <Person> workersList = new List <Person>(); //создаем безработных Person per1 = new Person("Пяточкин В.", "бухгалтер"); workersList.Add(per1); Person per2 = new Person("Ласточкин И.", "продавец"); workersList.Add(per2); Person per3 = new Person("Пятеркин С.", "закупщик"); workersList.Add(per3); Person per4 = new Person("Гаврилов А.", "слесарь"); workersList.Add(per4); Person per5 = new Person("Иванов В.", "слесарь"); workersList.Add(per5); Person per6 = new Person("Петров Е.", "слесарь"); workersList.Add(per6); Person per7 = new Person("Сидоров Ю.", "слесарь"); workersList.Add(per7); Person per8 = new Person("Цветаев В.", "слесарь"); workersList.Add(per8); //создание HR менеджера HRManager HR_man = new HRManager("Иванова О.К."); //подобрать безработных в компании HR_man.ArrangePeronsByProfession(workersList, companyList); }
public ActionResult Humans_getItems() { var parameters = AjaxModel.GetParameters(HttpContext); var mng = new HRManager(); var items = mng.GetHumans().AsQueryable(); if (parameters.filter != null && parameters.filter.Count > 0) { var text = parameters.filter.ContainsKey("text") ? parameters.filter["text"].ToString() : ""; var sourceID = parameters.filter.ContainsKey("sourceName") ? RDL.Convert.StrToInt(parameters.filter["sourceName"].ToString(), 0) : 0; items = items.Where(x => (sourceID == 0 || x.sourceID == sourceID) ); List <int?> statusIDs = new List <int?>(); if (parameters.filter.ContainsKey("statusName")) { statusIDs = (parameters.filter["statusName"] as ArrayList).ToArray().Select(x => (int?)RDL.Convert.StrToInt(x.ToString(), 0)).ToList(); } items = items.Where(x => (statusIDs.Count == 0 || statusIDs.Contains(x.statusID)) ); var needActive = parameters.filter.ContainsKey("needActive") ? RDL.Convert.StrToInt(parameters.filter["needActive"].ToString(), -1) : -1; items = items.Where(x => //фильтр в этом месте не срабатывает для needActive=NULL (needActive == -1 || x.needActive == (needActive == 1 ? true : false)) ); if (text != "") { items = items.ToList().Where(x => x.fio != null && x.fio.IndexOf(text, StringComparison.CurrentCultureIgnoreCase) >= 0 || x.city != null && x.city.IndexOf(text, StringComparison.CurrentCultureIgnoreCase) >= 0 || x.note != null && x.note.IndexOf(text, StringComparison.CurrentCultureIgnoreCase) >= 0 || x.username != null && x.username.IndexOf(text, StringComparison.CurrentCultureIgnoreCase) >= 0 || x.addedBy != null && x.addedBy.IndexOf(text, StringComparison.CurrentCultureIgnoreCase) >= 0 || x.pay != null && x.pay.IndexOf(text, StringComparison.CurrentCultureIgnoreCase) >= 0 ).AsQueryable(); } } var sorts = parameters.sort.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries); var directions = parameters.direction.Split(",".ToArray(), StringSplitOptions.RemoveEmptyEntries); var sort1 = sorts.Length > 0 ? sorts[0] : ""; var direction1 = directions.Length > 0 ? directions[0] : ""; var sort2 = sorts.Length > 1 ? sorts[1] : ""; var direction2 = directions.Length > 1 ? directions[1] : ""; IOrderedQueryable <hr_humans> orderedItems = items.OrderByDescending(p => p.created); switch (sort1) { case "fio": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.fio); } else { orderedItems = items.OrderByDescending(x => x.fio); } break; case "city": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.city); } else { orderedItems = items.OrderByDescending(x => x.city); } break; case "note": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.note); } else { orderedItems = items.OrderByDescending(x => x.note); } break; case "addedBy": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.addedBy); } else { orderedItems = items.OrderByDescending(x => x.addedBy); } break; case "statusName": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.hr_statuses.name); } else { orderedItems = items.OrderByDescending(x => x.hr_statuses.name); } break; case "sourceName": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.hr_sources.name); } else { orderedItems = items.OrderByDescending(x => x.hr_sources.name); } break; case "subchannel": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.subchannel); } else { orderedItems = items.OrderByDescending(x => x.subchannel); } break; case "username": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.username); } else { orderedItems = items.OrderByDescending(x => x.username); } break; case "needActive": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.needActive); } else { orderedItems = items.OrderByDescending(x => x.needActive); } break; case "pay": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.pay); } else { orderedItems = items.OrderByDescending(x => x.pay); } break; case "hourRate": if (direction1 == "up") { orderedItems = items.OrderBy(x => x.hourRate); } else { orderedItems = items.OrderByDescending(x => x.hourRate); } break; default: if (direction1 == "up") { orderedItems = items.OrderBy(x => x.created); } else { orderedItems = items.OrderByDescending(x => x.created); } break; } if (sort2 != "") { switch (sort2) { case "fio": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.fio); } else { orderedItems = orderedItems.ThenByDescending(x => x.fio); } break; case "city": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.city); } else { orderedItems = orderedItems.ThenByDescending(x => x.city); } break; case "note": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.note); } else { orderedItems = orderedItems.ThenByDescending(x => x.note); } break; case "addedBy": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.addedBy); } else { orderedItems = orderedItems.ThenByDescending(x => x.addedBy); } break; case "statusName": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.hr_statuses.name); } else { orderedItems = orderedItems.ThenByDescending(x => x.hr_statuses.name); } break; case "sourceName": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.hr_sources.name); } else { orderedItems = orderedItems.ThenByDescending(x => x.hr_sources.name); } break; case "subchannel": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.subchannel); } else { orderedItems = orderedItems.ThenByDescending(x => x.subchannel); } break; case "username": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.username); } else { orderedItems = orderedItems.ThenByDescending(x => x.username); } break; case "needActive": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.needActive); } else { orderedItems = orderedItems.ThenByDescending(x => x.needActive); } break; case "pay": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.pay); } else { orderedItems = orderedItems.ThenByDescending(x => x.pay); } break; case "hourRate": if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.hourRate); } else { orderedItems = orderedItems.ThenByDescending(x => x.hourRate); } break; default: if (direction2 == "up") { orderedItems = orderedItems.ThenBy(x => x.created); } else { orderedItems = orderedItems.ThenByDescending(x => x.created); } break; } } var total = orderedItems.Count(); var res2 = orderedItems.Skip(parameters.pageSize * (parameters.page - 1)).Take(parameters.pageSize).ToList(); return(Json(new { items = res2.Select(x => new { x.id, fio = x.fio ?? "", city = x.city ?? "", note = x.note ?? "", x.sourceID, sourceName = x.hr_sources != null ? x.hr_sources.name : "", x.statusID, statusName = x.hr_statuses != null ? x.hr_statuses.name : "", addedBy = x.addedBy ?? "", created = x.created.GetValueOrDefault().ToString("dd.MM.yyyy"), subchannel = x.subchannel ?? "", username = x.username ?? "", needActive = x.needActive.HasValue && x.needActive == true ? "Да" : "Нет", pay = x.pay ?? "", hourRate = x.hourRate ?? 0 }), total = total }, JsonRequestBehavior.AllowGet)); }