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)); } }
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)); }
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); }
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); }