public async Task <IActionResult> WorkOrder(int page = 1) { var result = new ResponseAssignment(); try { var UserSession = HttpContext.Session.Get <UserModel>("UserSesion"); if (UserSession.UserType == UserType.Technician) { throw new Exception(); } var dateTemp = DateTime.Today; var dateFrom = new DateTime(dateTemp.Year, dateTemp.Month, 1); var dateTo = new DateTime(dateTemp.Year, dateTemp.Month + 1, 1).AddDays(-1); HttpContext.Session.SetString("StartDateFilter", dateFrom.ToString("yyyy-MM-dd")); HttpContext.Session.SetString("EndDateFilter", dateTo.ToString("yyyy-MM-dd")); var pageSize = 10; Request request = new Request(); request = new Request() { Assignment = new AssignmentModel { UserId = UserSession.Id, TypeConsult = 1, WorkOrderNumber = "", CompanyName = "", //StartDate = new DateTime(2017, 1, 20), StartDate = dateFrom, Office = "", CostCenter = "", //EndDate = new DateTime(2018, 1, 20), EndDate = dateTo, }, PageIndex = page, PageSize = pageSize }; result = await _assignmentService.GetOtsAsync(request); dataFilter = await _assignmentService.GetDataForFilterAsync(); OrderPersonalTechnical(ref result); ViewData["Office"] = AddListItemDataOffices(dataFilter.Offices); ViewData["CostCenter"] = AddListItemDataCostsCenter(dataFilter.CostsCenter); ViewData["Brand"] = AddListItemDataBrands(dataFilter.Brands); var x = Math.Ceiling(Convert.ToDouble(result.TotalRows / pageSize)); ViewData["CurrentPage"] = page; ViewData["Pages"] = x; } catch (Exception) { return(RedirectToAction("Index", "Home")); } return(View(result.Assignments)); }
public async Task <ResponseAssignment> GetOtsAsync(Request request) { ResponseAssignment item = null; try { var response = await _apiClient.ExecutePost <ResponseAssignment>("Assignments/getots", request); item = (ResponseAssignment)response.Content; } catch (Exception e) { string m = e.Message; } return(item); }
public async Task <IActionResult> Search(SearchModel model) { var UserSession = HttpContext.Session.Get <UserModel>("UserSesion"); ResponseAssignment result = new ResponseAssignment(); DateTime parseStart = new DateTime(1900, 1, 1); DateTime parseEnd = new DateTime(2900, 1, 1);; try { if (!string.IsNullOrEmpty(model.StartDate)) { DateTime.TryParse(model.StartDate, out parseStart); } if (!string.IsNullOrEmpty(model.EndDate)) { DateTime.TryParse(model.EndDate, out parseEnd); } Request request = new Request() { Assignment = new AssignmentModel { UserId = UserSession.Id, TypeConsult = 1, WorkOrderNumber = string.IsNullOrEmpty(model.WorkOrderNumber) ? string.Empty : model.WorkOrderNumber.Trim(), CompanyName = string.IsNullOrEmpty(model.Client) ? string.Empty : model.Client.Trim(), StartDate = parseStart, Office = string.IsNullOrEmpty(model.IdOffice) || model.IdOffice == "-1" ? string.Empty : model.IdOffice, CostCenter = string.IsNullOrEmpty(model.IdCostCenter) || model.IdOffice == "-1" ? string.Empty : model.IdCostCenter, EndDate = parseEnd, Supervisor = string.IsNullOrEmpty(model.Supervisor) ? string.Empty : model.Supervisor.Trim(), Brand = string.IsNullOrEmpty(model.IdBrand) || model.IdBrand == "-1" ? string.Empty : model.IdBrand, }, PageIndex = 1, PageSize = 10 }; result = await _assignmentService.GetOtsAsync(request); OrderPersonalTechnical(ref result); KeepFilterData(model); ViewData["Office"] = AddListItemDataOffices(dataFilter.Offices); ViewData["CostCenter"] = AddListItemDataCostsCenter(dataFilter.CostsCenter); ViewData["Brand"] = AddListItemDataBrands(dataFilter.Brands); if (result.TotalRows == 0) { return(PartialView("_WorkOrderList", new List <AssignmentModel>())); } } catch (Exception e) { return(PartialView("_WorkOrderList", new List <AssignmentModel>())); } return(PartialView("_WorkOrderList", result.Assignments.OrderBy(i => i.EndDate).ToList())); }
public async Task <ResponseAssignment> GetOtDetailAsync(string idOT, string idUser) { ResponseAssignment Result = null; try { _apiClient.AddParameter("Id", idOT); _apiClient.AddParameter("userId", idUser); var response = await _apiClient.ExecutePost <ResponseAssignment>("Assignments/GetDetailOTAD"); Result = response.Content; } catch (Exception e) { string m = e.Message; } return(Result); }
private void OrderPersonalTechnical(ref ResponseAssignment list) { List <AssignmentModel> listNewAssignment = new List <AssignmentModel>(); foreach (var item in list.Assignments) { AssignmentModel newModel = new AssignmentModel(); List <ContactModel> FerreContacts = new List <ContactModel>(); FerreContacts.AddRange(GetChargeInFerreyrosContact("Líder", item.FerreyrosContacts)); FerreContacts.AddRange(GetChargeInFerreyrosContact("Técnico", item.FerreyrosContacts)); FerreContacts.AddRange(GetChargeInFerreyrosContact("Supervisor", item.FerreyrosContacts)); newModel = item; newModel.FerreyrosContacts = FerreContacts; listNewAssignment.Add(newModel); } list.Assignments = listNewAssignment; }
public async Task <IActionResult> TechnicalDetail() { var UserSession = HttpContext.Session.Get <UserModel>("UserSesion"); var IdTechnical = HttpContext.Session.GetString("IdTehcnicalDetail"); string userId = IdTechnical; var Id = HttpContext.Session.GetString("IdOT"); HttpContext.Session.SetString("IdOT", Id); HttpContext.Session.SetString("IdTehcnicalDetail", IdTechnical); string Tecnichal = string.Empty; ContactModel TechnicalContact = new ContactModel(); AssignmentModel Assign = new AssignmentModel(); ResponseAssignment ResponseDetailDocActiv = new ResponseAssignment(); try { Assign = await _assignmentService.GetOtAsync(Id, userId); ResponseDetailDocActiv = await _assignmentService.GetOtDetailAsync(Id, userId); Assign.Activities = ResponseDetailDocActiv.Assignment.Activities.OrderByDescending(k => k.StartDate).ToList(); CalculateActivityDuration(ref Assign); TechnicalContact = Assign.FerreyrosContacts.Where(i => i.Id == IdTechnical).FirstOrDefault(); ViewBag.DocumentsEntity = ResponseDetailDocActiv.DocumentsEntity; ViewBag.TotalDocumentsOT = 1; if (ResponseDetailDocActiv.Assignment.Documents == null || ResponseDetailDocActiv.Assignment.Documents.Count == 0) { //ViewBag.TotalDocumentsOT = 0; ViewBag.TotalDocumentsOT = 0; } else { ViewBag.DocumentsAssignment = ResponseDetailDocActiv.Assignment.Documents.OrderBy(i => i.Position).ToList(); } ViewBag.TechnicalName = TechnicalContact.Name + " " + TechnicalContact.LastName; ViewBag.TecnihalStatus = ConvertContactStatus.GetStatusSPA(TechnicalContact.assignmentStatus); ViewBag.Charge = TechnicalContact.Charge; } catch (Exception) { return(RedirectToAction("WorkOrder", "OT")); } return(View(Assign)); }