Exemple #1
0
        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;
            }
        }
Exemple #2
0
        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;
            }
        }
Exemple #3
0
        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;
            }
        }
Exemple #4
0
        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;
            }
        }
Exemple #5
0
        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;
            }
        }
Exemple #6
0
        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;
            }
        }