public JsonResult ListColumnDefinition()
        {
            var definition = AjaxDataTableHelper.GetColumnDefinitions <RequestListItemModel>().ToList();

            definition.Single(d => d.Name == nameof(RequestListItemModel.ExpiresAtDisplay)).Visible = false;
            return(Json(definition));
        }
Ejemplo n.º 2
0
        public JsonResult ListColumnDefinition()
        {
            var definition = AjaxDataTableHelper.GetColumnDefinitions <OrderAgreementListItemModel>().ToList();

            definition.Single(d => d.Name == nameof(OrderAgreementListItemModel.CustomerName)).Visible = User.IsInRole(Roles.SystemAdministrator);
            return(Json(definition));
        }
Ejemplo n.º 3
0
        public JsonResult ListColumnDefinition()
        {
            var definition = AjaxDataTableHelper.GetColumnDefinitions <WebHookListItemModel>().ToList();

            definition.Single(d => d.Name == nameof(WebHookListItemModel.BrokerName)).Visible = User.IsInRole(Roles.ApplicationAdministrator);
            return(Json(definition));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> ListWebhooks(IDataTablesRequest request)
        {
            var model = new WebHookFilterModel();

            await TryUpdateModelAsync(model);

            var webhooks = _dbContext.OutboundWebHookCalls.Select(e => e);

            if (!User.IsInRole(Roles.ApplicationAdministrator))
            {
                webhooks = webhooks.Where(w => w.RecipientUser.BrokerId == User.TryGetBrokerId());
            }
            return(AjaxDataTableHelper.GetData(request, webhooks.Count(), model.Apply(webhooks), x => x.Select(wh => new WebHookListItemModel
            {
                CreatedAt = wh.CreatedAt.ToSwedishString("yyyy-MM-dd HH:mm"),
                DeliveredAt = wh.DeliveredAt != null ? wh.DeliveredAt.Value.ToSwedishString("yyyy-MM-dd HH:mm") : "-",
                FailedTries = wh.FailedTries,
                HasBeenResent = wh.ResentHookId != null ? "Ja" : "Nej",
                NotificationType = wh.NotificationType.GetDescription(),
                OutboundWebHookCallId = wh.OutboundWebHookCallId,
                BrokerName = wh.RecipientUser.Broker.Name,
                ListColor = (
                    (wh.FailedTries >= 5 && wh.ResentHookId == null) ? "red-border-left" :
                    (wh.FailedTries < 5 && wh.DeliveredAt == null) ? "yellow-border-left" :
                    (wh.DeliveredAt != null) ? "green-border-left" :
                    "gray-border-left")
            })));
        }
        public JsonResult ListColumnDefinition()
        {
            var definition = AjaxDataTableHelper.GetColumnDefinitions <ComplaintListItemModel>().ToList();

            definition.Single(d => d.Name == nameof(ComplaintListItemModel.CustomerName)).Visible = User.TryGetBrokerId().HasValue;               //or is sys/app admin
            definition.Single(d => d.Name == nameof(ComplaintListItemModel.BrokerName)).Visible   = User.TryGetCustomerOrganisationId().HasValue; //or is sys/app admin
            return(Json(definition));
        }
Ejemplo n.º 6
0
        public async Task <IActionResult> ListRequests(IDataTablesRequest request)
        {
            var model = new RequestFilterModel();

            await TryUpdateModelAsync(model);

            var requests = _dbContext.RequestListRows.Where(r => r.BrokerId == User.GetBrokerId()).Select(o => o);

            return(AjaxDataTableHelper.GetData(request, requests.Count(), model.Apply(requests), r => r.SelectRequestListItemModel()));
        }
Ejemplo n.º 7
0
        public async Task <IActionResult> ListRequisitions(IDataTablesRequest request)
        {
            var model = new RequisitionFilterModel();

            await TryUpdateModelAsync(model);

            model.IsCentralAdminOrOrderHandler = User.IsInRole(Roles.CentralAdministrator) || User.IsInRole(Roles.CentralOrderHandler);
            var brokerId = User.TryGetBrokerId();
            var customerOrganisationId = User.TryGetCustomerOrganisationId();

            model.IsBroker = brokerId.HasValue;
            if (model.IsBroker)
            {
                model.BrokerId = brokerId;
            }
            else
            {
                model.CustomerOrganisationId = customerOrganisationId;
                model.UserId        = User.GetUserId();
                model.CustomerUnits = User.TryGetAllCustomerUnits();
            }

            IQueryable <Requisition> requisitions = null;

            if (customerOrganisationId.HasValue)
            {
                requisitions = model.GetRequisitionsFromOrders(_dbContext.Orders.Select(o => o));
            }
            else if (brokerId.HasValue)
            {
                requisitions = model.GetRequisitionsFromRequests(_dbContext.Requests.Select(o => o));
            }
            else
            {
                return(Forbid());
            }
            return(AjaxDataTableHelper.GetData(request, requisitions.Count(), model.Apply(requisitions), x => x.Select(r => new RequisitionListItemModel
            {
                OrderRequestId = customerOrganisationId.HasValue ? r.Request.OrderId : r.RequestId,
                Language = r.Request.Order.OtherLanguage ?? r.Request.Order.Language.Name,
                OrderNumber = r.Request.Order.OrderNumber,
                OrderDateAndTime = $"{r.Request.Order.StartAt.ToSwedishString("yyyy-MM-dd")} {r.Request.Order.StartAt.ToSwedishString("HH\\:mm")}-{r.Request.Order.EndAt.ToSwedishString("HH\\:mm")}",
                Status = r.Status,
                BrokerName = r.Request.Ranking.Broker.Name,
                CustomerName = r.Request.Order.CustomerOrganisation.Name,
            })));
        }
Ejemplo n.º 8
0
        public async Task <IActionResult> ListUnits(IDataTablesRequest request)
        {
            //Get filters
            AdminUnitFilterModel filters = await GetUnitFilters();

            //Get the full table
            var data = _dbContext.CustomerUnits.Where(u => u.CustomerOrganisationId == filters.Id);

            //Filter and return data tables data
            return(AjaxDataTableHelper.GetData(request, data.Count(), AdminUnitListItemModel.Filter(filters, data), d => d.Select(u => new AdminUnitListItemModel
            {
                CustomerUnitId = u.CustomerUnitId,
                Name = u.Name,
                Email = u.Email,
                IsActive = u.IsActive
            })));
        }
Ejemplo n.º 9
0
        public async Task <IActionResult> ListUsers(IDataTablesRequest request)
        {
            //Get filters
            CustomerUserFilterModel filters = await GetUserFilters();

            //Get the full table
            var data = _dbContext.Users.Where(u => u.CustomerOrganisationId == filters.Id);

            //Filter and return data tables data
            return(AjaxDataTableHelper.GetData(request, data.Count(), DynamicUserListItemModel.Filter(filters, data), d => d.Select(u => new DynamicUserListItemModel
            {
                Id = u.Id,
                FirstName = u.NameFirst,
                LastName = u.NameFamily,
                Email = u.Email,
                IsActive = u.IsActive
            })));
        }
        public async Task <IActionResult> ListInterpreters(IDataTablesRequest request)
        {
            var model = new InterpreterFilterModel();

            await TryUpdateModelAsync(model);

            IQueryable <InterpreterBroker> interpreters = _dbContext.InterpreterBrokers
                                                          .Where(ib => ib.BrokerId == User.GetBrokerId() && (ib.Interpreter == null || ib.Interpreter.IsProtected != true)); //

            return(AjaxDataTableHelper.GetData(request, interpreters.Count(), model.Apply(interpreters), x => x.Select(i => new InterpreterListItemModel
            {
                Id = i.InterpreterBrokerId,
                Email = i.Email,
                Name = $"{i.LastName}, {i.FirstName}",
                OfficialInterpreterId = i.OfficialInterpreterId,
                IsActive = i.IsActive
            })));
        }
Ejemplo n.º 11
0
        public async Task <IActionResult> ListEmails(IDataTablesRequest request)
        {
            var model = new EmailFilterModel();

            await TryUpdateModelAsync(model);

            var emails = _dbContext.OutboundEmails.Select(e => e);

            return(AjaxDataTableHelper.GetData(request, emails.Count(), model.Apply(emails), x => x.Select(e =>
                                                                                                           new EmailListItemModel
            {
                OutboundEmailId = e.OutboundEmailId,
                CreatedAt = e.CreatedAt,
                Subject = e.Subject,
                Body = e.PlainBody,
                Recipient = e.Recipient,
                SentAt = e.DeliveredAt,
                ResentAt = e.ReplacedByEmail.CreatedAt
            })));
        }
Ejemplo n.º 12
0
        public async Task <IActionResult> ListComplaints(IDataTablesRequest request)
        {
            var model = new ComplaintFilterModel();

            await TryUpdateModelAsync(model);

            model.IsCustomerCentralAdminOrOrderHandler = User.IsInRole(Roles.CentralAdministrator) || User.IsInRole(Roles.CentralOrderHandler);
            var brokerId = User.TryGetBrokerId();
            var customerOrganisationId = User.TryGetCustomerOrganisationId();

            model.IsBroker = brokerId.HasValue;
            if (model.IsBroker)
            {
                model.BrokerId = brokerId;
            }
            else
            {
                model.CustomerOrganisationId = customerOrganisationId;
                model.UserId        = User.GetUserId();
                model.CustomerUnits = User.TryGetAllCustomerUnits();
            }
            IQueryable <Complaint> complaints = customerOrganisationId.HasValue ?
                                                model.GetComplaintsFromOrders(_dbContext.Orders.Select(o => o)) : brokerId.HasValue ?
                                                complaints = model.GetComplaintsFromRequests(_dbContext.Requests.Select(o => o)) : null;

            if (complaints == null)
            {
                return(Forbid());
            }
            return(AjaxDataTableHelper.GetData(request, complaints.Count(), model.Apply(complaints), x => x.Select(c => new ComplaintListItemModel
            {
                OrderRequestId = customerOrganisationId.HasValue ? c.Request.OrderId : c.RequestId,
                BrokerName = c.Request.Ranking.Broker.Name,
                CustomerName = c.Request.Order.CustomerOrganisation.Name,
                ComplaintType = c.ComplaintType,
                CreatedAt = c.CreatedAt.ToSwedishString("yyyy-MM-dd HH:mm"),
                OrderNumber = c.Request.Order.OrderNumber,
                RegionName = c.Request.Order.Region.Name,
                Status = c.Status,
            })));
        }
        public async Task <IActionResult> ListAssignments(IDataTablesRequest request)
        {
            var model = new AssignmentFilterModel();

            await TryUpdateModelAsync(model);

            var requests = _dbContext.Requests.GetRequestsForInterpreter(User.GetInterpreterId());

            return(AjaxDataTableHelper.GetData(request, requests.Count(), model.Apply(requests, _clock), x => x.Select(r =>
                                                                                                                       new RequestListItemModel
            {
                RequestId = r.RequestId,
                LanguageName = r.Order.OtherLanguage ?? r.Order.Language.Name,
                OrderNumber = r.Order.OrderNumber,
                CustomerName = r.Order.CustomerOrganisation.Name,
                RegionName = r.Order.Region.Name,
                ExpiresAt = r.ExpiresAt,
                StartAt = r.Order.StartAt,
                EndAt = r.Order.EndAt,
                Status = r.Status
            })));
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> ListOrderAgreements(IDataTablesRequest request)
        {
            var model = new OrderAgreementFilterModel();

            await TryUpdateModelAsync(model);

            model.IsAdmin = User.IsInRole(Roles.SystemAdministrator);
            int?customerOrganisationId = !model.IsAdmin ? User.TryGetCustomerOrganisationId() : null;

            var payloads = _dbContext.OrderAgreementPayloads.ListOrderAgreements(customerOrganisationId);

            return(AjaxDataTableHelper.GetData(request, payloads.Count(), model.Apply(payloads), x => x.Select(e =>
                                                                                                               new OrderAgreementListItemModel
            {
                OrderAgreementPayloadId = e.OrderAgreementPayloadId,
                IdentificationNumber = e.IdentificationNumber,
                Index = e.Index,
                CreatedAt = e.CreatedAt,
                OrderNumber = e.Request.Order.OrderNumber,
                IsLatest = e.ReplacedById == null,
                CreatedBy = e.CreatedBy != null ? e.CreatedByUser.NameFamily + ", " + e.CreatedByUser.NameFirst : "Systemet",
                CustomerName = e.Request.Order.CustomerOrganisation.Name
            })));
        }
Ejemplo n.º 15
0
 public JsonResult ListColumnDefinition()
 {
     return(Json(AjaxDataTableHelper.GetColumnDefinitions <RequestListItemModel>()));
 }
Ejemplo n.º 16
0
 public JsonResult UnitColumnDefinition()
 {
     return(Json(AjaxDataTableHelper.GetColumnDefinitions <AdminUnitListItemModel>()));
 }
Ejemplo n.º 17
0
 public JsonResult UserColumnDefinition()
 {
     return(Json(AjaxDataTableHelper.GetColumnDefinitions <DynamicUserListItemModel>()));
 }