Exemple #1
0
        public async Task <TicketMember> Save(TicketMember record)
        {
            if (record.TicketMemberId <= 0)
            {
                await _dbContext.AddAsync(record);
            }
            else
            {
                _dbContext.Update(record);
            }

            await _dbContext.SaveChangesAsync();

            return(record);
        }
Exemple #2
0
        public async Task <IActionResult> Post([FromBody] TicketMemberRequest model)
        {
            TicketMember newRecord = null;

            if (ModelState.IsValid)
            {
                InitUserCredentials();

                var existing = _ticketMemberService.Search(new TicketMemberSearchModel
                {
                    TeamUserGuid = model.TeamUserGuid,
                    UserGuid     = model.UserGuid,
                    TicketGuid   = model.TicketGuid
                }, CompanyGuid);

                if (existing.Any())
                {
                    return(Ok(_mapper.Map(existing.FirstOrDefault(), new TicketMemberResponse())));
                }

                newRecord = new TicketMember
                {
                    Guid             = Guid.NewGuid(),
                    TicketGuid       = (Guid)model.TicketGuid,
                    TeamUserGuid     = (Guid)model.TeamUserGuid,
                    CompanyGuid      = CompanyGuid,
                    UserGuid         = (Guid)model.UserGuid,
                    CreationTime     = DateTime.UtcNow,
                    CreationUserGuid = UserGuid
                };

                newRecord = _mapper.Map(model, newRecord);

                try
                {
                    await _ticketMemberService.Save(newRecord);
                }
                catch (Exception e)
                {
                    Log.Error(e.StackTrace);
                    throw;
                }
            }

            return(CreatedAtAction(nameof(Post), _mapper.Map(newRecord, new TicketMemberResponse())));
        }