示例#1
0
        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);
        }
示例#3
0
        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;
        }
示例#6
0
        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));
        }