예제 #1
0
        public async Task <IActionResult> UpsertPgm([FromBody] UpsertPgmCmd request)
        {
            try
            {
                var result = await _service.UpsertPgm(request);

                return(Ok(result));
            }
            catch (BusinessLogicException ex)
            {
                return(BadRequest(new Response
                {
                    Status = false,
                    Message = ex.Message
                }));
            }
            catch (Exception e)
            {
                return(BadRequest(new Response
                {
                    Status = false,
                    Message = ErrorMessages.UnkownError
                }));
            }
        }
예제 #2
0
        public async Task <Response> UpsertPgm(UpsertPgmCmd request)
        {
            /////
            var existItem = await _context.PGMs.AnyAsync(x => x.Name == request.Name);

            if (existItem)
            {
                throw new BusinessLogicException(".این رکورد از قبل موجود می باشد");
            }
            /////
            if (!string.IsNullOrEmpty(request.Id))
            {
                var item = await _context.PGMs.SingleOrDefaultAsync(x => x.Id == request.Id);

                if (item == null)
                {
                    throw new BusinessLogicException("رکوردی یافت نشد");
                }

                item.Name = request.Name;
                _context.PGMs.Update(item);
            }
            else
            {
                var item = new PGM
                {
                    Id           = Guid.NewGuid().ToString(),
                    Name         = request.Name,
                    DepartmentId = request.DepartmentId,
                    CreatedAt    = DateTime.Now
                };
                await _context.PGMs.AddAsync(item);
            }
            await _context.SaveChangesAsync();

            return(new Response
            {
                Status = true,
                Message = "success"
            });
        }