public async Task <FileResult> Report(int Id) { try { this._logger.Information($"Start {nameof(Report)} Id = {Id}"); ISession session = _services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; SessionLogIn ses = session.GetJson <SessionLogIn>("ses"); Employee employee = await _plinovodiDutyDataRead.GetEmployee(ses.EmployeeId); Duty duty = await _plinovodiDutyDataRead.GetDuty(Id); IEnumerable <Intervention> interventionList = await _plinovodiDutyDataRead.GetInterventions(Id); var stream = PlinovodiDezurstvaUtils.GenerateReport(employee, duty, interventionList); Response.Headers.Append("content-disposition", "inline; filename=file.pdf"); this._logger.Information($"End {nameof(Report)}"); return(File(stream.ToArray(), "application/pdf", $"{employee.Name}{employee.Surname}{duty.From.ToString("d.M.yy")}.pdf")); } catch (Exception ex) { this._logger.Error($"Error {nameof(Report)} {ex.Message} {ex.StackTrace}"); throw ex; } }
public ViewResult CreateIntervention() { try { this._logger.Information($"Start {nameof(CreateIntervention)}"); ISession session = _services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; SessionLogIn ses = session.GetJson <SessionLogIn>("ses"); InterventionEdit interventionEdit = new InterventionEdit(); for (int index = 0; index < ses.DaysOfDuty.Count; index++) { interventionEdit.Days.Add(new InterventionDay { Id = index, Day = ses.DaysOfDuty[index].ToString("d-M-yyyy") }); } this._logger.Information($"End {nameof(CreateIntervention)}"); return(View("AddEditIntervention", interventionEdit)); } catch (Exception ex) { this._logger.Error($"Error {nameof(CreateIntervention)} {ex.Message} {ex.StackTrace}"); throw ex; } }
public async Task <RedirectToActionResult> LogIn(int employeeId, int dutyId) { try { this._logger.Information($"Start {nameof(LogIn)} employeeId = {employeeId} dutyId = {dutyId}"); Duty duty = await _plinovodiDutyDataRead.GetDuty(dutyId); ISession session = _services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; SessionLogIn ses = new SessionLogIn(); ses.EmployeeId = employeeId; ses.DutyId = dutyId; DateTime day = duty.From; ses.DaysOfDuty.Add(day); for (int i = 0; i < 7; i++) { day = day.AddDays(1); ses.DaysOfDuty.Add(day); } session.SetJson("ses", ses); this._logger.Information($"End {nameof(LogIn)}"); return(RedirectToAction("Index", "Duty")); } catch (Exception ex) { this._logger.Error($"Error {nameof(LogIn)} {ex.Message} {ex.StackTrace}"); throw ex; } }
public async Task <RedirectToActionResult> EditIntervention(InterventionPostBack interventionPostBack) { try { this._logger.Information($"Start {nameof(EditIntervention)} interventionPostBack = {interventionPostBack}"); ISession session = _services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; SessionLogIn ses = session.GetJson <SessionLogIn>("ses"); Intervention intervention = new Intervention(); intervention.Id = interventionPostBack.Id; intervention.DutyId = ses.DutyId; intervention.From = ses.DaysOfDuty[interventionPostBack.InterventionDayId]; intervention.From = new DateTime(intervention.From.Year, intervention.From.Month, intervention.From.Day, interventionPostBack.InterventionTimeStartId, 0, 0); intervention.To = ses.DaysOfDuty[interventionPostBack.InterventionDayId]; if (interventionPostBack.InterventionTimeEndId == 24) { intervention.To = new DateTime(intervention.To.Year, intervention.To.Month, intervention.To.Day, 0, 0, 0); intervention.To = intervention.To.AddDays(1); } else { intervention.To = new DateTime(intervention.To.Year, intervention.To.Month, intervention.To.Day, interventionPostBack.InterventionTimeEndId, 0, 0); } intervention.ShortDescription = interventionPostBack.ShortDescription; intervention.LongDescription = interventionPostBack.LongDescription != null ? interventionPostBack.LongDescription : ""; if (interventionPostBack.Id == 0) { await _plinovodiDutyDataWrite.InsertIntervention(intervention); } else { await _plinovodiDutyDataWrite.UpdateIntervention(intervention); } this._logger.Information($"End {nameof(EditIntervention)}"); return(RedirectToAction("Index")); } catch (Exception ex) { this._logger.Error($"Error {nameof(EditIntervention)} POST {ex.Message} {ex.StackTrace}"); throw ex; } }
public async Task <ViewResult> EditIntervention(int Id) { try { this._logger.Information($"Start {nameof(EditIntervention)} Id = {Id}"); ISession session = _services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; SessionLogIn ses = session.GetJson <SessionLogIn>("ses"); Intervention intervention = await _plinovodiDutyDataRead.GetIntervention(Id); InterventionEdit interventionEdit = new InterventionEdit(); interventionEdit.Id = intervention.Id; interventionEdit.ShortDescription = intervention.ShortDescription; interventionEdit.LongDescription = intervention.LongDescription; for (int index = 0; index < ses.DaysOfDuty.Count; index++) { interventionEdit.Days.Add(new InterventionDay { Id = index, Day = ses.DaysOfDuty[index].ToString("d.M.yyyy") }); } for (int index = 0; index < ses.DaysOfDuty.Count; index++) { if (ses.DaysOfDuty[index].Day == intervention.From.Day) { interventionEdit.SelectedDay = index; break; } } interventionEdit.SelectedStartTime = intervention.From.Hour; int endhour = intervention.From.Day != intervention.To.Day ? 24 : intervention.To.Hour; interventionEdit.SelectedEndTime = endhour; this._logger.Information($"End {nameof(EditIntervention)}"); return(View("AddEditIntervention", interventionEdit)); } catch (Exception ex) { this._logger.Error($"Error {nameof(EditIntervention)} GET {ex.Message} {ex.StackTrace}"); throw ex; } }
public async Task <ViewResult> Index() { try { this._logger.Information($"Start {nameof(Index)}"); ISession session = _services.GetRequiredService <IHttpContextAccessor>()?.HttpContext.Session; SessionLogIn ses = session.GetJson <SessionLogIn>("ses"); IEnumerable <Intervention> interventionList = await _plinovodiDutyDataRead.GetInterventions(ses.DutyId); this._logger.Information($"End {nameof(Index)}"); return(View(interventionList)); } catch (Exception ex) { this._logger.Error($"Error {nameof(Index)} {ex.Message} {ex.StackTrace}"); throw ex; } }