// GET: Assignment public async Task <ActionResult> Index() { HttpResponseMessage msg = await ClientEmployee.GetAsync(URLemployees); var employees = new List <Employee>(); if (msg.IsSuccessStatusCode) { var data = msg.Content.ReadAsStringAsync().Result; employees = JsonConvert.DeserializeObject <List <Employee> >(data); //employee data } AssetTypeManager TypeMng = new AssetTypeManager(); var Types = TypeMng.GetAssetTypes(); //get asset types AssetManager AssetMng = new AssetManager(); var Assets = AssetMng.GetAssets(); //get all assets var UnassignedEmployee = employees //Collection of employee who haven't been assigned any asset .Where(o => Assets.All(a => o.EmployeeNumber != a.AssignedTo)) .Select(o => new Employee { Id = o.Id, EmployeeNumber = o.EmployeeNumber, FirstName = o.FirstName, LastName = o.LastName, Position = o.Position, Phone = o.Phone, DepartmentId = o.DepartmentId }).ToList(); var assetTypeList = new List <SelectListItem>(); foreach (var type in Types) { assetTypeList.Add(new SelectListItem { Value = type.Id.ToString(), Text = type.Name }); } var employeesList = UnassignedEmployee.Select(o => new SelectListItem { Value = o.EmployeeNumber, Text = $"{o.FirstName} {o.LastName} (Phone: {o.Phone})" }); AssignmentViewModel ViewModel = new AssignmentViewModel(); ViewModel.AssetType = assetTypeList; ViewModel.UnassignedEmployees = employeesList; return(View(ViewModel)); }
public async Task <JsonResult> AssetsByEmployee(string name) //string name comes in from Jquery/Ajax method { HttpResponseMessage msgEmployee = await ClientEmployee.GetAsync(URLemployees); var employees = new List <Employee>(); if (msgEmployee.IsSuccessStatusCode) { var data = msgEmployee.Content.ReadAsStringAsync().Result; employees = JsonConvert.DeserializeObject <List <Employee> >(data); } HttpResponseMessage msgDepartment = await ClientDepartment.GetAsync(URLdepartments); var departments = new List <Department>(); if (msgDepartment.IsSuccessStatusCode) { var data = msgDepartment.Content.ReadAsStringAsync().Result; departments = JsonConvert.DeserializeObject <List <Department> >(data); } AssetManager manager = new AssetManager(); AssetTypeManager typeManager = new AssetTypeManager(); var assets = manager.GetAssets(); var types = typeManager.GetAssetTypes(); var AssetsObjectModels = (from a in assets join t in types on a.AssetTypeId equals t.Id join e in employees on a.AssignedTo equals e.EmployeeNumber join d in departments on e.DepartmentId equals d.Id where a.AssignedTo == name select new HomePagePartialViewModel { AssetDescription = a.Description, AssetTypeName = t.Name, TagNumber = a.TagNumber, SerialNumber = a.SerialNumber, EmployeeName = $"{e.FirstName} {e.LastName}", DepartmentLocation = d.Location }).ToList(); //return Json collection for ajax method (Index view <script> section) return(Json(AssetsObjectModels, "text/json", JsonRequestBehavior.AllowGet)); }
public async Task <PartialViewResult> AssignedAssets() { HttpResponseMessage msgEmployee = await ClientEmployee.GetAsync(URLemployees); var employees = new List <Employee>(); if (msgEmployee.IsSuccessStatusCode) { var data = msgEmployee.Content.ReadAsStringAsync().Result; employees = JsonConvert.DeserializeObject <List <Employee> >(data); } HttpResponseMessage msgDepartment = await ClientDepartment.GetAsync(URLdepartments); var departments = new List <Department>(); if (msgDepartment.IsSuccessStatusCode) { var data = msgDepartment.Content.ReadAsStringAsync().Result; departments = JsonConvert.DeserializeObject <List <Department> >(data); } AssetManager manager = new AssetManager(); AssetTypeManager typeManager = new AssetTypeManager(); var assets = manager.GetAssets(); var types = typeManager.GetAssetTypes(); var AssetsObjectModels = (from a in assets join t in types on a.AssetTypeId equals t.Id join e in employees on a.AssignedTo equals e.EmployeeNumber join d in departments on e.DepartmentId equals d.Id where a.AssignedTo != null select new HomePagePartialViewModel { AssetDescription = a.Description, AssetTypeName = t.Name, TagNumber = a.TagNumber, SerialNumber = a.SerialNumber, EmployeeName = $"{e.FirstName} {e.LastName}", DepartmentLocation = d.Location }).ToList(); return(PartialView("_AssignedAssets", AssetsObjectModels)); }
public List <AssetType> GetAssetTypes() { try { var objList = new List <AssetType>(); objList = _assetTypeManager.GetAssetTypes(); if (objList == null) { return(new List <AssetType>()); } return(objList); } catch (Exception ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); return(new List <AssetType>()); } }
public async Task <ActionResult> Index() { HttpResponseMessage msg = await ClientEmployee.GetAsync(URLemployees); var employees = new List <Employee>(); if (msg.IsSuccessStatusCode) { var data = msg.Content.ReadAsStringAsync().Result; employees = JsonConvert.DeserializeObject <List <Employee> >(data); } var mainViewModel = new HomePageFilterOptionsViewModel(); var employeesList = new List <SelectListItem>(); var assetTypeList = new List <SelectListItem>(); AssetTypeManager manager = new AssetTypeManager(); var AssetTypes = manager.GetAssetTypes(); foreach (var em in employees) { //for employee drop-down list employeesList.Add(new SelectListItem { Value = em.EmployeeNumber.ToString(), Text = $"{em.FirstName} {em.LastName}" }); } foreach (var type in AssetTypes) { //for asset type drop-down list assetTypeList.Add(new SelectListItem { Value = type.Id.ToString(), Text = type.Name }); } mainViewModel.AssetType = assetTypeList; mainViewModel.Employees = employeesList; return(View(mainViewModel)); }
public PartialViewResult UnassignedAssets() { AssetManager manager = new AssetManager(); AssetTypeManager typeManager = new AssetTypeManager(); var assets = manager.GetAssets(); var types = typeManager.GetAssetTypes(); var AssetsObjectModels = (from a in assets join t in types on a.AssetTypeId equals t.Id where a.AssignedTo == null select new HomePagePartialViewModel { AssetDescription = a.Description, AssetTypeName = t.Name, TagNumber = a.TagNumber, SerialNumber = a.SerialNumber, EmployeeName = "-", DepartmentLocation = "-" }).ToList(); return(PartialView("_UnassignedAssets", AssetsObjectModels)); }
// GET: NewAsset public async Task <ActionResult> Index() { HttpResponseMessage msg = await ClientEmployee.GetAsync(URLemployees); var employees = new List <Employee>(); if (msg.IsSuccessStatusCode) { var data = msg.Content.ReadAsStringAsync().Result; employees = JsonConvert.DeserializeObject <List <Employee> >(data); } AssetTypeManager TypeMng = new AssetTypeManager(); ManufacturerManager ManufacturerMng = new ManufacturerManager(); ModelManager ModelMng = new ModelManager(); var Types = TypeMng.GetAssetTypes(); var Manufaturers = ManufacturerMng.GetManufacturers(); var Models = ModelMng.GetModels(); var TypesList = new List <SelectListItem>(); var ManufacturersList = new List <SelectListItem>(); var ModelsList = new List <SelectListItem>(); var EmployeesList = new List <SelectListItem>(); foreach (var type in Types) { TypesList.Add(new SelectListItem { Value = type.Id.ToString(), Text = type.Name }); } foreach (var manufacturer in Manufaturers) { ManufacturersList.Add(new SelectListItem { Value = manufacturer.Id.ToString(), Text = manufacturer.Name }); } foreach (var model in Models) { ModelsList.Add(new SelectListItem { Value = model.Id.ToString(), Text = model.Name }); } foreach (var employee in employees) { //EmployeeNumber is used instead of ID EmployeesList.Add(new SelectListItem { Value = employee.EmployeeNumber, Text = $"{employee.FirstName} {employee.LastName}" }); } NewAssetViewModel ViewModel = new NewAssetViewModel(); ViewModel.AssetType = TypesList; ViewModel.Manufacturer = ManufacturersList; ViewModel.Model = ModelsList; ViewModel.Employees = EmployeesList; return(View(ViewModel)); }