public async Task <IActionResult> GetEquipmentByscheduleId(int csId, int scId, int lId) { CurrentUser cUser = new CurrentUser(HttpContext, _configuration); try { var result = await scheduleRepo.GetEquipmentByScheduleId(csId, scId, lId, string.Empty); await auditLogService.LogActivity(cUser.UserId, cUser.HostIP, cUser.SessionId, "Schedule", "Loaded Equipments based on selected Schedule."); return(Ok(result)); } catch (CustomException cex) { var responseObj = new EmaintenanceMessage(cex.Message, cex.Type, cex.IsException, cex.Exception?.ToString()); return(StatusCode(StatusCodes.Status500InternalServerError, responseObj)); } catch (Exception ex) { return(Ok(new EmaintenanceMessage(ex.Message))); } }
public async Task <IActionResult> GenerateJobs(int csId, int ssId) { try { CurrentUser cUser = new CurrentUser(HttpContext, _configuration); var sems = (List <ScheduleEntityModel>) await scheduleRepo.GetScheduleByStatus(csId, ssId, 0, 0, "GenerateJob"); var equipments = (List <ScheduleEntityModel>) await scheduleRepo.GetEquipmentByScheduleId(csId, ssId, 0, "GenerateJob"); if (sems != null && sems.Count > 0) { var sem = sems[0]; List <JobServicesViewModel> jsvms = null; List <JobEquipmentsViewModel> jevms = null; /** Deserializing the Schedule Service Object and Looping into Job Service Object */ List <ScheduleServicesViewModel> ssvms = JsonConvert.DeserializeObject <List <ScheduleServicesViewModel> >(sem.ScheduleServices); if (ssvms != null && ssvms.Count > 0) { jsvms = new List <JobServicesViewModel>(); foreach (ScheduleServicesViewModel ssvm in ssvms) { JobServicesViewModel jsvm = new JobServicesViewModel { JobServiceId = 0, ServiceId = ssvm.ServiceId, ServiceName = ssvm.ServiceName, Active = ssvm.Active, UserId = cUser.UserId }; jsvms.Add(jsvm); } } /** Deserializing the Schedule Equipement Object and Looping into Job Service Object */ List <ScheduleEquipmentsViewModel> sevms = JsonConvert.DeserializeObject <List <ScheduleEquipmentsViewModel> >(equipments[0].ScheduleEquipments); if (sevms != null && sevms.Count > 0) { jevms = new List <JobEquipmentsViewModel>(); foreach (ScheduleEquipmentsViewModel sevm in sevms) { if (sevm.Active == "Y") { JobEquipmentsViewModel jsvm = new JobEquipmentsViewModel { JobEquipmentId = 0, EquipmentId = sevm.EquipmentId, }; jevms.Add(jsvm); } } } foreach (DateTime StartDate in DateUtils.GetDatesBetweenRange(sem.StartDate, sem.EndDate, sem.IntervalDays)) { JobViewModel jvm = new JobViewModel { JobId = 0, ScheduleSetupId = sem.ScheduleSetupId, JobName = sem.ScheduleName, ClientSiteId = csId, EstStartDate = StartDate, EstEndDate = StartDate.AddDays(sem.EstJobDays - 1), JobServices = jsvms, JobEquipments = jevms, UserId = cUser.UserId }; await jobRepo.SaveOrUpdate(jvm); } } await auditLogService.LogActivity(cUser.UserId, cUser.HostIP, cUser.SessionId, "Jobs", "Job Generated."); return(Ok()); } catch (CustomException cex) { var responseObj = new EmaintenanceMessage(cex.Message, cex.Type, cex.IsException, cex.Exception?.ToString()); return(StatusCode(StatusCodes.Status500InternalServerError, responseObj)); } catch (Exception ex) { return(Ok(new EmaintenanceMessage(ex.Message))); } }