コード例 #1
0
        public async Task <ActionResult <TicketIssueLevel_TicketIssueLevelDTO> > Delete([FromBody] TicketIssueLevel_TicketIssueLevelDTO TicketIssueLevel_TicketIssueLevelDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            if (!await HasPermission(TicketIssueLevel_TicketIssueLevelDTO.Id))
            {
                return(Forbid());
            }

            TicketIssueLevel TicketIssueLevel = ConvertDTOToEntity(TicketIssueLevel_TicketIssueLevelDTO);

            TicketIssueLevel = await TicketIssueLevelService.Delete(TicketIssueLevel);

            TicketIssueLevel_TicketIssueLevelDTO = new TicketIssueLevel_TicketIssueLevelDTO(TicketIssueLevel);
            if (TicketIssueLevel.IsValidated)
            {
                return(TicketIssueLevel_TicketIssueLevelDTO);
            }
            else
            {
                return(BadRequest(TicketIssueLevel_TicketIssueLevelDTO));
            }
        }
コード例 #2
0
        public async Task <ActionResult <TicketIssueLevel_TicketIssueLevelDTO> > Get([FromBody] TicketIssueLevel_TicketIssueLevelDTO TicketIssueLevel_TicketIssueLevelDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }

            if (!await HasPermission(TicketIssueLevel_TicketIssueLevelDTO.Id))
            {
                return(Forbid());
            }

            TicketIssueLevel TicketIssueLevel = await TicketIssueLevelService.Get(TicketIssueLevel_TicketIssueLevelDTO.Id);

            return(new TicketIssueLevel_TicketIssueLevelDTO(TicketIssueLevel));
        }
コード例 #3
0
        private TicketIssueLevel ConvertDTOToEntity(TicketIssueLevel_TicketIssueLevelDTO TicketIssueLevel_TicketIssueLevelDTO)
        {
            TicketIssueLevel TicketIssueLevel = new TicketIssueLevel();

            TicketIssueLevel.Id            = TicketIssueLevel_TicketIssueLevelDTO.Id;
            TicketIssueLevel.Name          = TicketIssueLevel_TicketIssueLevelDTO.Name;
            TicketIssueLevel.OrderNumber   = TicketIssueLevel_TicketIssueLevelDTO.OrderNumber;
            TicketIssueLevel.TicketGroupId = TicketIssueLevel_TicketIssueLevelDTO.TicketGroupId;
            TicketIssueLevel.TicketTypeId  = TicketIssueLevel_TicketIssueLevelDTO.TicketTypeId;
            TicketIssueLevel.StatusId      = TicketIssueLevel_TicketIssueLevelDTO.StatusId;
            TicketIssueLevel.SLA           = TicketIssueLevel_TicketIssueLevelDTO.SLA;
            TicketIssueLevel.Used          = TicketIssueLevel_TicketIssueLevelDTO.Used;
            TicketIssueLevel.Status        = TicketIssueLevel_TicketIssueLevelDTO.Status == null ? null : new Status
            {
                Id   = TicketIssueLevel_TicketIssueLevelDTO.Status.Id,
                Code = TicketIssueLevel_TicketIssueLevelDTO.Status.Code,
                Name = TicketIssueLevel_TicketIssueLevelDTO.Status.Name,
            };
            TicketIssueLevel.TicketGroup = TicketIssueLevel_TicketIssueLevelDTO.TicketGroup == null ? null : new TicketGroup
            {
                Id           = TicketIssueLevel_TicketIssueLevelDTO.TicketGroup.Id,
                Name         = TicketIssueLevel_TicketIssueLevelDTO.TicketGroup.Name,
                OrderNumber  = TicketIssueLevel_TicketIssueLevelDTO.TicketGroup.OrderNumber,
                StatusId     = TicketIssueLevel_TicketIssueLevelDTO.TicketGroup.StatusId,
                TicketTypeId = TicketIssueLevel_TicketIssueLevelDTO.TicketGroup.TicketTypeId,
                Used         = TicketIssueLevel_TicketIssueLevelDTO.TicketGroup.Used,
            };
            TicketIssueLevel.SLAPolicies = TicketIssueLevel_TicketIssueLevelDTO.SLAPolicies?.Select(p => new SLAPolicy
            {
                Id = p.Id,
                TicketIssueLevelId  = p.TicketIssueLevelId,
                TicketPriorityId    = p.TicketPriorityId,
                FirstResponseTime   = p.FirstResponseTime,
                FirstResponseUnitId = p.FirstResponseUnitId,
                FirstResponseUnit   = p.FirstResponseUnit == null ? null : new SLATimeUnit
                {
                    Id   = p.FirstResponseUnit.Id,
                    Code = p.FirstResponseUnit.Code,
                    Name = p.FirstResponseUnit.Name
                },
                ResolveTime   = p.ResolveTime,
                ResolveUnitId = p.ResolveUnitId,
                ResolveUnit   = p.ResolveUnit == null ? null : new SLATimeUnit
                {
                    Id   = p.ResolveUnit.Id,
                    Code = p.ResolveUnit.Code,
                    Name = p.ResolveUnit.Name
                },
                IsAlert         = p.IsAlert,
                IsAlertFRT      = p.IsAlertFRT,
                IsEscalation    = p.IsEscalation,
                IsEscalationFRT = p.IsEscalationFRT,
            }).ToList();
            TicketIssueLevel.SLAAlerts = TicketIssueLevel_TicketIssueLevelDTO.SLAAlerts?.Select(p => new SLAAlert
            {
                Id = p.Id,
                TicketIssueLevelId = p.TicketIssueLevelId,
                IsNotification     = p.IsNotification,
                IsMail             = p.IsMail,
                IsSMS             = p.IsSMS,
                Time              = p.Time,
                TimeUnitId        = p.TimeUnitId,
                IsAssignedToUser  = p.IsAssignedToUser,
                IsAssignedToGroup = p.IsAssignedToGroup,
                SmsTemplateId     = p.SmsTemplateId,
                MailTemplateId    = p.MailTemplateId,
                SLAAlertMails     = p.SLAAlertMails?.Select(x => new SLAAlertMail {
                    Id         = x.Id,
                    SLAAlertId = x.SLAAlertId,
                    Mail       = x.Mail
                }).ToList(),
                SLAAlertPhones = p.SLAAlertPhones?.Select(x => new SLAAlertPhone
                {
                    Id         = x.Id,
                    SLAAlertId = x.SLAAlertId,
                    Phone      = x.Phone
                }).ToList(),
                SLAAlertUsers = p.SLAAlertUsers?.Select(x => new SLAAlertUser {
                    Id         = x.Id,
                    SLAAlertId = x.SLAAlertId,
                    AppUserId  = x.AppUserId
                }).ToList()
            }).ToList();
            TicketIssueLevel.SLAAlertFRTs = TicketIssueLevel_TicketIssueLevelDTO.SLAAlertFRTs?.Select(p => new SLAAlertFRT
            {
                Id = p.Id,
                TicketIssueLevelId = p.TicketIssueLevelId,
                IsNotification     = p.IsNotification,
                IsMail             = p.IsMail,
                IsSMS             = p.IsSMS,
                Time              = p.Time,
                TimeUnitId        = p.TimeUnitId,
                IsAssignedToUser  = p.IsAssignedToUser,
                IsAssignedToGroup = p.IsAssignedToGroup,
                SmsTemplateId     = p.SmsTemplateId,
                MailTemplateId    = p.MailTemplateId,
                SLAAlertFRTMails  = p.SLAAlertFRTMails?.Select(x => new SLAAlertFRTMail
                {
                    Id            = x.Id,
                    SLAAlertFRTId = x.SLAAlertFRTId,
                    Mail          = x.Mail
                }).ToList(),
                SLAAlertFRTPhones = p.SLAAlertFRTPhones?.Select(x => new SLAAlertFRTPhone
                {
                    Id            = x.Id,
                    SLAAlertFRTId = x.SLAAlertFRTId,
                    Phone         = x.Phone
                }).ToList(),
                SLAAlertFRTUsers = p.SLAAlertFRTUsers?.Select(x => new SLAAlertFRTUser
                {
                    Id            = x.Id,
                    SLAAlertFRTId = x.SLAAlertFRTId,
                    AppUserId     = x.AppUserId
                }).ToList()
            }).ToList();
            TicketIssueLevel.SLAEscalations = TicketIssueLevel_TicketIssueLevelDTO.SLAEscalations?.Select(p => new SLAEscalation
            {
                Id = p.Id,
                TicketIssueLevelId = p.TicketIssueLevelId,
                IsNotification     = p.IsNotification,
                IsMail             = p.IsMail,
                IsSMS              = p.IsSMS,
                Time               = p.Time,
                TimeUnitId         = p.TimeUnitId,
                IsAssignedToUser   = p.IsAssignedToUser,
                IsAssignedToGroup  = p.IsAssignedToGroup,
                SmsTemplateId      = p.SmsTemplateId,
                MailTemplateId     = p.MailTemplateId,
                SLAEscalationMails = p.SLAEscalationMails?.Select(x => new SLAEscalationMail
                {
                    Id = x.Id,
                    SLAEscalationId = x.SLAEscalationId,
                    Mail            = x.Mail
                }).ToList(),
                SLAEscalationPhones = p.SLAEscalationPhones?.Select(x => new SLAEscalationPhone
                {
                    Id = x.Id,
                    SLAEscalationId = x.SLAEscalationId,
                    Phone           = x.Phone
                }).ToList(),
                SLAEscalationUsers = p.SLAEscalationUsers?.Select(x => new SLAEscalationUser
                {
                    Id = x.Id,
                    SLAEscalationId = x.SLAEscalationId,
                    AppUserId       = x.AppUserId
                }).ToList()
            }).ToList();
            TicketIssueLevel.SLAEscalationFRTs = TicketIssueLevel_TicketIssueLevelDTO.SLAEscalationFRTs?.Select(p => new SLAEscalationFRT
            {
                Id = p.Id,
                TicketIssueLevelId = p.TicketIssueLevelId,
                IsNotification     = p.IsNotification,
                IsMail             = p.IsMail,
                IsSMS                 = p.IsSMS,
                Time                  = p.Time,
                TimeUnitId            = p.TimeUnitId,
                IsAssignedToUser      = p.IsAssignedToUser,
                IsAssignedToGroup     = p.IsAssignedToGroup,
                SmsTemplateId         = p.SmsTemplateId,
                MailTemplateId        = p.MailTemplateId,
                SLAEscalationFRTMails = p.SLAEscalationFRTMails?.Select(x => new SLAEscalationFRTMail
                {
                    Id = x.Id,
                    SLAEscalationFRTId = x.SLAEscalationFRTId,
                    Mail = x.Mail
                }).ToList(),
                SLAEscalationFRTPhones = p.SLAEscalationFRTPhones?.Select(x => new SLAEscalationFRTPhone
                {
                    Id = x.Id,
                    SLAEscalationFRTId = x.SLAEscalationFRTId,
                    Phone = x.Phone
                }).ToList(),
                SLAEscalationFRTUsers = p.SLAEscalationFRTUsers?.Select(x => new SLAEscalationFRTUser
                {
                    Id = x.Id,
                    SLAEscalationFRTId = x.SLAEscalationFRTId,
                    AppUserId          = x.AppUserId
                }).ToList()
            }).ToList();
            TicketIssueLevel.BaseLanguage = CurrentContext.Language;
            return(TicketIssueLevel);
        }
コード例 #4
0
        public async Task <ActionResult <TicketIssueLevel_TicketIssueLevelDTO> > GetDraft([FromBody] TicketIssueLevel_TicketIssueLevelDTO TicketIssueLevel_TicketIssueLevelDTO)
        {
            if (!ModelState.IsValid)
            {
                throw new BindException(ModelState);
            }
            TicketIssueLevel_TicketIssueLevelDTO TicketIssueLevel_TicketIssueLevelDTODraft = new TicketIssueLevel_TicketIssueLevelDTO();
            List <TicketPriority> TicketPriorities = await TicketPriorityService.List(new TicketPriorityFilter
            {
                Skip    = 0,
                Take    = int.MaxValue,
                Selects = TicketPrioritySelect.ALL,
            });

            TicketIssueLevel_TicketIssueLevelDTODraft.SLAPolicies = TicketPriorities.Select(x => new TicketIssueLevel_SLAPolicyDTO
            {
                TicketPriorityId  = x.Id,
                TicketPriority    = new TicketIssueLevel_TicketPriorityDTO(x),
                IsAlert           = false,
                IsAlertFRT        = false,
                IsEscalation      = false,
                IsEscalationFRT   = false,
                FirstResponseTime = 0,
                ResolveTime       = 0,
                ResolveUnit       = new TicketIssueLevel_SLATimeUnitDTO
                {
                    Id   = SLATimeUnitEnum.HOURS.Id,
                    Code = SLATimeUnitEnum.HOURS.Code,
                    Name = SLATimeUnitEnum.HOURS.Name
                },
                FirstResponseUnit = new TicketIssueLevel_SLATimeUnitDTO
                {
                    Id   = SLATimeUnitEnum.MINUTES.Id,
                    Code = SLATimeUnitEnum.MINUTES.Code,
                    Name = SLATimeUnitEnum.MINUTES.Name
                },
                FirstResponseUnitId = SLATimeUnitEnum.MINUTES.Id,
                ResolveUnitId       = SLATimeUnitEnum.HOURS.Id
            }).ToList();
            TicketIssueLevel_TicketIssueLevelDTODraft.Status = new TicketIssueLevel_StatusDTO
            {
                Code = Enums.StatusEnum.ACTIVE.Code,
                Id   = Enums.StatusEnum.ACTIVE.Id,
                Name = Enums.StatusEnum.ACTIVE.Name
            };
            TicketIssueLevel_TicketIssueLevelDTODraft.StatusId = Enums.StatusEnum.ACTIVE.Id;

            TicketIssueLevel_TicketIssueLevelDTODraft.SLAAlerts = new List <TicketIssueLevel_SLAAlertDTO>();

            TicketIssueLevel_TicketIssueLevelDTODraft.SLAAlerts.Add(new TicketIssueLevel_SLAAlertDTO
            {
                IsNotification   = true,
                Time             = 15,
                IsAssignedToUser = true,
                TimeUnitId       = SLATimeUnitEnum.MINUTES.Id,
                TimeUnit         = new TicketIssueLevel_SLATimeUnitDTO
                {
                    Id   = SLATimeUnitEnum.MINUTES.Id,
                    Code = SLATimeUnitEnum.MINUTES.Code,
                    Name = SLATimeUnitEnum.MINUTES.Name
                },
            });

            TicketIssueLevel_TicketIssueLevelDTODraft.SLAAlertFRTs = new List <TicketIssueLevel_SLAAlertFRTDTO>();
            TicketIssueLevel_TicketIssueLevelDTODraft.SLAAlertFRTs.Add(new TicketIssueLevel_SLAAlertFRTDTO
            {
                IsNotification   = true,
                Time             = 15,
                IsAssignedToUser = true,
                TimeUnitId       = SLATimeUnitEnum.MINUTES.Id,
                TimeUnit         = new TicketIssueLevel_SLATimeUnitDTO
                {
                    Id   = SLATimeUnitEnum.MINUTES.Id,
                    Code = SLATimeUnitEnum.MINUTES.Code,
                    Name = SLATimeUnitEnum.MINUTES.Name
                },
            });

            TicketIssueLevel_TicketIssueLevelDTODraft.SLAEscalations = new List <TicketIssueLevel_SLAEscalationDTO>();
            TicketIssueLevel_TicketIssueLevelDTODraft.SLAEscalations.Add(new TicketIssueLevel_SLAEscalationDTO
            {
                IsNotification   = true,
                Time             = 15,
                IsAssignedToUser = true,
                TimeUnitId       = SLATimeUnitEnum.MINUTES.Id,
                TimeUnit         = new TicketIssueLevel_SLATimeUnitDTO
                {
                    Id   = SLATimeUnitEnum.MINUTES.Id,
                    Code = SLATimeUnitEnum.MINUTES.Code,
                    Name = SLATimeUnitEnum.MINUTES.Name
                },
            });

            TicketIssueLevel_TicketIssueLevelDTODraft.SLAEscalationFRTs = new List <TicketIssueLevel_SLAEscalationFRTDTO>();
            TicketIssueLevel_TicketIssueLevelDTODraft.SLAEscalationFRTs.Add(new TicketIssueLevel_SLAEscalationFRTDTO
            {
                IsNotification   = true,
                Time             = 15,
                IsAssignedToUser = true,
                TimeUnitId       = SLATimeUnitEnum.MINUTES.Id,
                TimeUnit         = new TicketIssueLevel_SLATimeUnitDTO
                {
                    Id   = SLATimeUnitEnum.MINUTES.Id,
                    Code = SLATimeUnitEnum.MINUTES.Code,
                    Name = SLATimeUnitEnum.MINUTES.Name
                },
            });

            return(TicketIssueLevel_TicketIssueLevelDTODraft);
        }