public async Task <ActionResult <TicketGroup_TicketGroupDTO> > Create([FromBody] TicketGroup_TicketGroupDTO TicketGroup_TicketGroupDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } if (!await HasPermission(TicketGroup_TicketGroupDTO.Id)) { return(Forbid()); } TicketGroup TicketGroup = ConvertDTOToEntity(TicketGroup_TicketGroupDTO); TicketGroup = await TicketGroupService.Create(TicketGroup); TicketGroup_TicketGroupDTO = new TicketGroup_TicketGroupDTO(TicketGroup); if (TicketGroup.IsValidated) { return(TicketGroup_TicketGroupDTO); } else { return(BadRequest(TicketGroup_TicketGroupDTO)); } }
private TicketGroup ConvertDTOToEntity(TicketGroup_TicketGroupDTO TicketGroup_TicketGroupDTO) { TicketGroup TicketGroup = new TicketGroup(); TicketGroup.Id = TicketGroup_TicketGroupDTO.Id; TicketGroup.Name = TicketGroup_TicketGroupDTO.Name; TicketGroup.OrderNumber = TicketGroup_TicketGroupDTO.OrderNumber; TicketGroup.StatusId = TicketGroup_TicketGroupDTO.StatusId; TicketGroup.TicketTypeId = TicketGroup_TicketGroupDTO.TicketTypeId; TicketGroup.Used = TicketGroup_TicketGroupDTO.Used; TicketGroup.Status = TicketGroup_TicketGroupDTO.Status == null ? null : new Status { Id = TicketGroup_TicketGroupDTO.Status.Id, Code = TicketGroup_TicketGroupDTO.Status.Code, Name = TicketGroup_TicketGroupDTO.Status.Name, }; TicketGroup.TicketType = TicketGroup_TicketGroupDTO.TicketType == null ? null : new TicketType { Id = TicketGroup_TicketGroupDTO.TicketType.Id, Code = TicketGroup_TicketGroupDTO.TicketType.Code, Name = TicketGroup_TicketGroupDTO.TicketType.Name, ColorCode = TicketGroup_TicketGroupDTO.TicketType.ColorCode, StatusId = TicketGroup_TicketGroupDTO.TicketType.StatusId, Used = TicketGroup_TicketGroupDTO.TicketType.Used, }; TicketGroup.BaseLanguage = CurrentContext.Language; return(TicketGroup); }
public async Task <bool> Delete(TicketGroup TicketGroup) { if (await ValidateId(TicketGroup)) { } return(TicketGroup.IsValidated); }
//public void OnTicketClicked(object sender, EventArgs e) //{ // var GroupTik = (sender as Button).BindingContext as TicketGroupModel; // TicketNumber tik = new TicketNumber(); // SQLiteConnection s; // s = DependencyService.Get<ISQLite>().GetConnection(); // s.Table<TicketNumber>(); // tik.TicketNum = Convert.ToString(GroupTik.TicketID); // //tbr.TblName = Convert.ToString(data.ID); // TicketQuery c = new TicketQuery(); // c.InsertDetails(tik); // TicketQuery y = new TicketQuery(); // SQLiteConnection d; // d = DependencyService.Get<ISQLite>().GetConnection(); // d.Table<TicketNumber>(); // var tikcount = s.ExecuteScalar<string>("SELECT TicketNum FROM TicketNumber"); // // DisplayAlert("ticket", tikcount, "ok"); // // GroupTik.TicketID; // decimal toti = 0; // Navigation.PushAsync(new OnlineCart( toti)); //} public async void GetGroupTickets() { TableQuery p = new TableQuery();///// SQLiteConnection r; r = DependencyService.Get <ISQLite>().GetConnection(); r.Table <TempTbl>(); var count = r.ExecuteScalar <string>("SELECT TblName FROM TempTbl"); //var TicketNu = 0; //var FlagNu = 0; long LocationId = OnlineLoginPage.LocationDetail; var client = new HttpClient(); var postData = new List <KeyValuePair <string, string> >(); postData.Add(new KeyValuePair <string, string>("LocationId", Convert.ToString(LocationId))); postData.Add(new KeyValuePair <string, string>("TableID", Convert.ToString(JsonTable.tablenew)));//////// var content = new FormUrlEncodedContent(postData); var response = await client.PostAsync(RestService.ipupdate + "TicketGroupGet.php", content); string contactsJson = response.Content.ReadAsStringAsync().Result; TicketGroup ObjContactList = new TicketGroup(); if (response.IsSuccessStatusCode) { ObjContactList = JsonConvert.DeserializeObject <TicketGroup>(contactsJson); listviewTicketGroup.ItemsSource = ObjContactList.TicketGroupInfo; } }
public async Task <bool> Create(TicketGroup TicketGroup) { await ValidateName(TicketGroup); await ValidateTicketType(TicketGroup); await ValidateStatus(TicketGroup); return(TicketGroup.IsValidated); }
public async Task <bool> ValidateStatus(TicketGroup TicketGroup) { if (StatusEnum.ACTIVE.Id != TicketGroup.StatusId && StatusEnum.INACTIVE.Id != TicketGroup.StatusId) { TicketGroup.AddError(nameof(TicketGroupValidator), nameof(TicketGroup.Status), ErrorCode.StatusNotExisted); } return(TicketGroup.IsValidated); }
public async Task <bool> ValidateTicketType(TicketGroup TicketGroup) { if (TicketGroup.TicketType == null) { TicketGroup.AddError(nameof(TicketGroupValidator), nameof(TicketGroup.TicketType), ErrorCode.TicketTypeEmpty); } return(TicketGroup.IsValidated); }
public async Task <bool> Delete(TicketGroup TicketGroup) { await DataContext.TicketGroup.Where(x => x.Id == TicketGroup.Id).UpdateFromQueryAsync(x => new TicketGroupDAO { DeletedAt = StaticParams.DateTimeNow }); return(true); }
public async Task <TicketGroup> Get(long Id) { TicketGroup TicketGroup = await UOW.TicketGroupRepository.Get(Id); if (TicketGroup == null) { return(null); } return(TicketGroup); }
public async Task <bool> Update(TicketGroup TicketGroup) { if (await ValidateId(TicketGroup)) { await ValidateName(TicketGroup); await ValidateTicketType(TicketGroup); await ValidateStatus(TicketGroup); } return(TicketGroup.IsValidated); }
public IActionResult CreateTickets(TicketGroup ticketGrp) { if (ModelState.IsValid) { ticketscontext.TicketGroup.Add(ticketGrp); ticketscontext.SaveChanges(); return(RedirectToAction("Index")); } return(View()); }
public async Task <bool> ValidateName(TicketGroup TicketGroup) { if (string.IsNullOrWhiteSpace(TicketGroup.Name)) { TicketGroup.AddError(nameof(TicketGroupValidator), nameof(TicketGroup.Name), ErrorCode.NameEmpty); } else if (TicketGroup.Name.Length > 255) { TicketGroup.AddError(nameof(TicketGroupValidator), nameof(TicketGroup.Name), ErrorCode.NameOverLength); } return(TicketGroup.IsValidated); }
private async Task SaveTicketGroups(List<List<Seat>> groups, int bteId, int ticketsNumber, string url) { var ticketGroups = new List<TicketGroup>(); foreach (var group in groups) { var accessibility = new List<string>(); var inventoryTypes = new List<string>(); foreach (var seat in group) { accessibility.AddRange(seat.Accessibility); inventoryTypes.AddRange(seat.InventoryTypes); } accessibility = accessibility.Distinct().OrderBy(x => x).ToList(); inventoryTypes = inventoryTypes.Distinct().OrderBy(x => x).ToList(); var firstSeat = group.First(); var ticketGroup = new TicketGroup() { //BteId = bteId, SeatQty = group.Count, ObstructedView = false, StartSeatNumber = firstSeat.Name, EndSeatNumber = group.Last().Name, Row = firstSeat.Row, Section = firstSeat.Section, Offers = firstSeat.Offers.Distinct().ToList(), SeatTypes = firstSeat.SeatTypes, Accessibility = accessibility, InventoryTypes = inventoryTypes, }; ticketGroups.Add(ticketGroup); } var model = new TicketGroupModel { Groups = ticketGroups, DatePulled = DateTime.UtcNow, //BteId = bteId, TicketsNumber = ticketsNumber, Result = SiteResponse.Success, Url = url }; await _repository.Add(model); }
public async Task <TicketGroup> Create(TicketGroup TicketGroup) { if (!await TicketGroupValidator.Create(TicketGroup)) { return(TicketGroup); } try { TicketGroupFilter TicketGroupFilter = new TicketGroupFilter { Take = 1, Selects = TicketGroupSelect.ALL, OrderBy = TicketGroupOrder.OrderNumber, OrderType = OrderType.DESC }; await UOW.Begin(); if (TicketGroup.OrderNumber == 0) { List <TicketGroup> ticketGroups = await UOW.TicketGroupRepository.List(TicketGroupFilter); TicketGroup.OrderNumber = ticketGroups.Any() ? ticketGroups.Max(c => c.OrderNumber) + 1 : 1; } await UOW.TicketGroupRepository.Create(TicketGroup); await UOW.Commit(); TicketGroup = await UOW.TicketGroupRepository.Get(TicketGroup.Id); await Logging.CreateAuditLog(TicketGroup, new { }, nameof(TicketGroupService)); return(TicketGroup); } catch (Exception ex) { if (ex.InnerException == null) { await Logging.CreateSystemLog(ex, nameof(TicketGroupService)); throw new MessageException(ex); } else { await Logging.CreateSystemLog(ex.InnerException, nameof(TicketGroupService)); throw new MessageException(ex.InnerException); } } }
public TicketGroup_TicketGroupDTO(TicketGroup TicketGroup) { this.Id = TicketGroup.Id; this.Name = TicketGroup.Name; this.OrderNumber = TicketGroup.OrderNumber; this.StatusId = TicketGroup.StatusId; this.TicketTypeId = TicketGroup.TicketTypeId; this.Used = TicketGroup.Used; this.Status = TicketGroup.Status == null ? null : new TicketGroup_StatusDTO(TicketGroup.Status); this.TicketType = TicketGroup.TicketType == null ? null : new TicketGroup_TicketTypeDTO(TicketGroup.TicketType); this.CreatedAt = TicketGroup.CreatedAt; this.UpdatedAt = TicketGroup.UpdatedAt; this.Errors = TicketGroup.Errors; }
public async Task <ActionResult <TicketGroup_TicketGroupDTO> > Get([FromBody] TicketGroup_TicketGroupDTO TicketGroup_TicketGroupDTO) { if (!ModelState.IsValid) { throw new BindException(ModelState); } if (!await HasPermission(TicketGroup_TicketGroupDTO.Id)) { return(Forbid()); } TicketGroup TicketGroup = await TicketGroupService.Get(TicketGroup_TicketGroupDTO.Id); return(new TicketGroup_TicketGroupDTO(TicketGroup)); }
public TicketIssueLevel_TicketGroupDTO(TicketGroup TicketGroup) { this.Id = TicketGroup.Id; this.Name = TicketGroup.Name; this.OrderNumber = TicketGroup.OrderNumber; this.StatusId = TicketGroup.StatusId; this.TicketTypeId = TicketGroup.TicketTypeId; this.TicketType = TicketGroup.TicketType == null ? null : new TicketIssueLevel_TicketTypeDTO(TicketGroup.TicketType); this.Used = TicketGroup.Used; this.Errors = TicketGroup.Errors; }
public async Task <bool> ValidateId(TicketGroup TicketGroup) { TicketGroupFilter TicketGroupFilter = new TicketGroupFilter { Skip = 0, Take = 10, Id = new IdFilter { Equal = TicketGroup.Id }, Selects = TicketGroupSelect.Id }; int count = await UOW.TicketGroupRepository.Count(TicketGroupFilter); if (count == 0) { TicketGroup.AddError(nameof(TicketGroupValidator), nameof(TicketGroup.Id), ErrorCode.IdNotExisted); } return(count == 1); }
public async Task <bool> Create(TicketGroup TicketGroup) { TicketGroupDAO TicketGroupDAO = new TicketGroupDAO(); TicketGroupDAO.Id = TicketGroup.Id; TicketGroupDAO.Name = TicketGroup.Name; TicketGroupDAO.OrderNumber = TicketGroup.OrderNumber; TicketGroupDAO.StatusId = TicketGroup.StatusId; TicketGroupDAO.TicketTypeId = TicketGroup.TicketTypeId; TicketGroupDAO.Used = TicketGroup.Used; TicketGroupDAO.CreatedAt = StaticParams.DateTimeNow; TicketGroupDAO.UpdatedAt = StaticParams.DateTimeNow; DataContext.TicketGroup.Add(TicketGroupDAO); await DataContext.SaveChangesAsync(); TicketGroup.Id = TicketGroupDAO.Id; await SaveReference(TicketGroup); return(true); }
public async Task <bool> Update(TicketGroup TicketGroup) { TicketGroupDAO TicketGroupDAO = DataContext.TicketGroup.Where(x => x.Id == TicketGroup.Id).FirstOrDefault(); if (TicketGroupDAO == null) { return(false); } TicketGroupDAO.Id = TicketGroup.Id; TicketGroupDAO.Name = TicketGroup.Name; TicketGroupDAO.OrderNumber = TicketGroup.OrderNumber; TicketGroupDAO.StatusId = TicketGroup.StatusId; TicketGroupDAO.TicketTypeId = TicketGroup.TicketTypeId; TicketGroupDAO.Used = TicketGroup.Used; TicketGroupDAO.UpdatedAt = StaticParams.DateTimeNow; await DataContext.SaveChangesAsync(); await SaveReference(TicketGroup); return(true); }
public async Task <TicketGroup> Update(TicketGroup TicketGroup) { if (!await TicketGroupValidator.Update(TicketGroup)) { return(TicketGroup); } try { var oldData = await UOW.TicketGroupRepository.Get(TicketGroup.Id); await UOW.Begin(); await UOW.TicketGroupRepository.Update(TicketGroup); await UOW.Commit(); TicketGroup = await UOW.TicketGroupRepository.Get(TicketGroup.Id); await Logging.CreateAuditLog(TicketGroup, oldData, nameof(TicketGroupService)); return(TicketGroup); } catch (Exception ex) { await UOW.Rollback(); if (ex.InnerException == null) { await Logging.CreateSystemLog(ex, nameof(TicketGroupService)); throw new MessageException(ex); } else { await Logging.CreateSystemLog(ex.InnerException, nameof(TicketGroupService)); throw new MessageException(ex.InnerException); } } }
public async Task <TicketGroup> Get(long Id) { TicketGroup TicketGroup = await DataContext.TicketGroup.AsNoTracking() .Where(x => x.Id == Id).Select(x => new TicketGroup() { CreatedAt = x.CreatedAt, UpdatedAt = x.UpdatedAt, Id = x.Id, Name = x.Name, OrderNumber = x.OrderNumber, StatusId = x.StatusId, TicketTypeId = x.TicketTypeId, Used = x.Used, Status = x.Status == null ? null : new Status { Id = x.Status.Id, Code = x.Status.Code, Name = x.Status.Name, }, TicketType = x.TicketType == null ? null : new TicketType { Id = x.TicketType.Id, Code = x.TicketType.Code, Name = x.TicketType.Name, ColorCode = x.TicketType.ColorCode, StatusId = x.TicketType.StatusId, Used = x.TicketType.Used, }, }).FirstOrDefaultAsync(); if (TicketGroup == null) { return(null); } return(TicketGroup); }
public async Task <ActionResult> Import(IFormFile file) { if (!ModelState.IsValid) { throw new BindException(ModelState); } StatusFilter StatusFilter = new StatusFilter { Skip = 0, Take = int.MaxValue, Selects = StatusSelect.ALL }; List <Status> Statuses = await StatusService.List(StatusFilter); TicketGroupFilter TicketGroupFilter = new TicketGroupFilter { Skip = 0, Take = int.MaxValue, Selects = TicketGroupSelect.ALL }; List <TicketGroup> TicketGroups = await TicketGroupService.List(TicketGroupFilter); List <TicketIssueLevel> TicketIssueLevels = new List <TicketIssueLevel>(); using (ExcelPackage excelPackage = new ExcelPackage(file.OpenReadStream())) { ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.FirstOrDefault(); if (worksheet == null) { return(Ok(TicketIssueLevels)); } int StartColumn = 1; int StartRow = 1; int IdColumn = 0 + StartColumn; int NameColumn = 1 + StartColumn; int OrderNumberColumn = 2 + StartColumn; int TicketGroupIdColumn = 3 + StartColumn; int StatusIdColumn = 4 + StartColumn; int SLAColumn = 5 + StartColumn; int UsedColumn = 9 + StartColumn; for (int i = StartRow; i <= worksheet.Dimension.End.Row; i++) { if (string.IsNullOrEmpty(worksheet.Cells[i + StartRow, StartColumn].Value?.ToString())) { break; } string IdValue = worksheet.Cells[i + StartRow, IdColumn].Value?.ToString(); string NameValue = worksheet.Cells[i + StartRow, NameColumn].Value?.ToString(); string OrderNumberValue = worksheet.Cells[i + StartRow, OrderNumberColumn].Value?.ToString(); string TicketGroupIdValue = worksheet.Cells[i + StartRow, TicketGroupIdColumn].Value?.ToString(); string StatusIdValue = worksheet.Cells[i + StartRow, StatusIdColumn].Value?.ToString(); string SLAValue = worksheet.Cells[i + StartRow, SLAColumn].Value?.ToString(); string UsedValue = worksheet.Cells[i + StartRow, UsedColumn].Value?.ToString(); TicketIssueLevel TicketIssueLevel = new TicketIssueLevel(); TicketIssueLevel.Name = NameValue; TicketIssueLevel.OrderNumber = long.TryParse(OrderNumberValue, out long OrderNumber) ? OrderNumber : 0; TicketIssueLevel.SLA = long.TryParse(SLAValue, out long SLA) ? SLA : 0; Status Status = Statuses.Where(x => x.Id.ToString() == StatusIdValue).FirstOrDefault(); TicketIssueLevel.StatusId = Status == null ? 0 : Status.Id; TicketIssueLevel.Status = Status; TicketGroup TicketGroup = TicketGroups.Where(x => x.Id.ToString() == TicketGroupIdValue).FirstOrDefault(); TicketIssueLevel.TicketGroupId = TicketGroup == null ? 0 : TicketGroup.Id; TicketIssueLevel.TicketGroup = TicketGroup; TicketIssueLevels.Add(TicketIssueLevel); } } TicketIssueLevels = await TicketIssueLevelService.Import(TicketIssueLevels); if (TicketIssueLevels.All(x => x.IsValidated)) { return(Ok(true)); } else { List <string> Errors = new List <string>(); for (int i = 0; i < TicketIssueLevels.Count; i++) { TicketIssueLevel TicketIssueLevel = TicketIssueLevels[i]; if (!TicketIssueLevel.IsValidated) { string Error = $"Dòng {i + 2} có lỗi:"; if (TicketIssueLevel.Errors.ContainsKey(nameof(TicketIssueLevel.Id))) { Error += TicketIssueLevel.Errors[nameof(TicketIssueLevel.Id)]; } if (TicketIssueLevel.Errors.ContainsKey(nameof(TicketIssueLevel.Name))) { Error += TicketIssueLevel.Errors[nameof(TicketIssueLevel.Name)]; } if (TicketIssueLevel.Errors.ContainsKey(nameof(TicketIssueLevel.OrderNumber))) { Error += TicketIssueLevel.Errors[nameof(TicketIssueLevel.OrderNumber)]; } if (TicketIssueLevel.Errors.ContainsKey(nameof(TicketIssueLevel.TicketGroupId))) { Error += TicketIssueLevel.Errors[nameof(TicketIssueLevel.TicketGroupId)]; } if (TicketIssueLevel.Errors.ContainsKey(nameof(TicketIssueLevel.StatusId))) { Error += TicketIssueLevel.Errors[nameof(TicketIssueLevel.StatusId)]; } if (TicketIssueLevel.Errors.ContainsKey(nameof(TicketIssueLevel.SLA))) { Error += TicketIssueLevel.Errors[nameof(TicketIssueLevel.SLA)]; } if (TicketIssueLevel.Errors.ContainsKey(nameof(TicketIssueLevel.Used))) { Error += TicketIssueLevel.Errors[nameof(TicketIssueLevel.Used)]; } Errors.Add(Error); } } return(BadRequest(Errors)); } }
private async Task SaveReference(TicketGroup TicketGroup) { }