예제 #1
0
 public async Task <bool> Delete(TicketGeneratedId TicketGeneratedId)
 {
     if (await ValidateId(TicketGeneratedId))
     {
     }
     return(TicketGeneratedId.IsValidated);
 }
        public async Task <bool> Create(TicketGeneratedId TicketGeneratedId)
        {
            TicketGeneratedIdDAO TicketGeneratedIdDAO = new TicketGeneratedIdDAO();

            TicketGeneratedIdDAO.Id        = TicketGeneratedId.Id;
            TicketGeneratedIdDAO.Used      = TicketGeneratedId.Used;
            TicketGeneratedIdDAO.CreatedAt = StaticParams.DateTimeNow;
            TicketGeneratedIdDAO.UpdatedAt = StaticParams.DateTimeNow;
            DataContext.TicketGeneratedId.Add(TicketGeneratedIdDAO);
            await DataContext.SaveChangesAsync();

            TicketGeneratedId.Id = TicketGeneratedIdDAO.Id;
            return(true);
        }
        public async Task <bool> Update(TicketGeneratedId TicketGeneratedId)
        {
            TicketGeneratedIdDAO TicketGeneratedIdDAO = DataContext.TicketGeneratedId.Where(x => x.Id == TicketGeneratedId.Id).FirstOrDefault();

            if (TicketGeneratedIdDAO == null)
            {
                return(false);
            }
            TicketGeneratedIdDAO.Id        = TicketGeneratedId.Id;
            TicketGeneratedIdDAO.Used      = TicketGeneratedId.Used;
            TicketGeneratedIdDAO.UpdatedAt = StaticParams.DateTimeNow;
            await DataContext.SaveChangesAsync();

            return(true);
        }
        public async Task <TicketGeneratedId> Get(long Id)
        {
            TicketGeneratedId TicketGeneratedId = await DataContext.TicketGeneratedId.AsNoTracking()
                                                  .Where(x => x.Id == Id).Select(x => new TicketGeneratedId()
            {
                CreatedAt = x.CreatedAt,
                UpdatedAt = x.UpdatedAt,
                Id        = x.Id,
                Used      = x.Used,
            }).FirstOrDefaultAsync();

            if (TicketGeneratedId == null)
            {
                return(null);
            }

            return(TicketGeneratedId);
        }
예제 #5
0
        public async Task <bool> ValidateId(TicketGeneratedId TicketGeneratedId)
        {
            TicketGeneratedIdFilter TicketGeneratedIdFilter = new TicketGeneratedIdFilter
            {
                Skip = 0,
                Take = 10,
                Id   = new IdFilter {
                    Equal = TicketGeneratedId.Id
                },
                Selects = TicketGeneratedIdSelect.Id
            };

            int count = await UOW.TicketGeneratedIdRepository.Count(TicketGeneratedIdFilter);

            if (count == 0)
            {
                TicketGeneratedId.AddError(nameof(TicketGeneratedIdValidator), nameof(TicketGeneratedId.Id), ErrorCode.IdNotExisted);
            }
            return(count == 1);
        }
        public async Task <TicketGeneratedId> GetTicketGeneratedIdUnused()
        {
            var datetime = StaticParams.DateTimeNow.AddHours(-1);
            TicketGeneratedId ticketUnused = await DataContext.TicketGeneratedId.AsNoTracking()
                                             .Where(x => !x.Used && x.CreatedAt <= datetime)
                                             .OrderBy(x => x.CreatedAt)
                                             .Select(x => new TicketGeneratedId()
            {
                CreatedAt = x.CreatedAt,
                UpdatedAt = x.UpdatedAt,
                Id        = x.Id,
                Used      = x.Used,
            }).FirstOrDefaultAsync();

            if (ticketUnused == null)
            {
                return(null);
            }

            return(ticketUnused);
        }
예제 #7
0
        public async Task <TicketGeneratedId> GetNewTicketId()
        {
            try
            {
                TicketGeneratedId ticketUnused = await UOW.TicketGeneratedIdRepository.GetTicketGeneratedIdUnused();

                if (ticketUnused != null)
                {
                    return(ticketUnused);
                }
                TicketGeneratedId TicketGeneratedId = new TicketGeneratedId();

                await UOW.Begin();

                await UOW.TicketGeneratedIdRepository.Create(TicketGeneratedId);

                await UOW.Commit();

                TicketGeneratedId = await UOW.TicketGeneratedIdRepository.Get(TicketGeneratedId.Id);

                await Logging.CreateAuditLog(TicketGeneratedId, new { }, nameof(TicketGeneratedIdService));

                return(TicketGeneratedId);
            }
            catch (Exception ex)
            {
                if (ex.InnerException == null)
                {
                    await Logging.CreateSystemLog(ex, nameof(TicketGeneratedIdService));

                    throw new MessageException(ex);
                }
                else
                {
                    await Logging.CreateSystemLog(ex.InnerException, nameof(TicketGeneratedIdService));

                    throw new MessageException(ex.InnerException);
                }
            }
        }
예제 #8
0
 public async Task <bool> Create(TicketGeneratedId TicketGeneratedId)
 {
     return(TicketGeneratedId.IsValidated);
 }