public async Task <EndOfShiftReport> UpdateEos(EndOfShiftReport data)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }
            await using var transaction = await _fmsb2Context.Database
                                          .BeginTransactionAsync()
                                          .ConfigureAwait(false);

            try
            {
                data.ShiftDate = data.ShiftDate.Date;
                _fmsb2Context.EndOfShiftReports.Update(data);
                await _fmsb2Context.SaveChangesAsync().ConfigureAwait(false);

                await transaction.CommitAsync().ConfigureAwait(false);

                return(data);
            }
            catch (Exception e)
            {
                await transaction.RollbackAsync().ConfigureAwait(false);

                throw new Exception(e.Message);
            }
        }
 public async Task <bool> IsEosExist(EndOfShiftReport data)
 {
     return(await _fmsb2Context.EndOfShiftReports
            .AsNoTracking()
            .AnyAsync(
                x =>
                x.ShiftDate == data.ShiftDate.Date &&
                x.Shift == data.Shift &&
                x.MachineId == data.MachineId
                )
            .ConfigureAwait(false));
 }
Exemple #3
0
        public async Task <EndOfShiftReport> AddOrUpdate(EndOfShiftReport data)
        {
            if (data == null)
            {
                throw new ArgumentNullException(nameof(data));
            }

            var isExist = await IsEosExist(data).ConfigureAwait(false);

            if (!isExist)
            {
                return(await base.CreateEos(data).ConfigureAwait(false));
            }

            return(await UpdateEos(data).ConfigureAwait(false));
        }
Exemple #4
0
        public async Task <IActionResult> UpdateEos(EndOfShiftReport data)
        {
            if (data == null)
            {
                return(BadRequest());
            }

            try
            {
                var result = await _endOfShiftReportService.UpdateEos(data).ConfigureAwait(false);

                return(Ok(result));
            }
            catch (Exception e)
            {
                return(BadRequest(e.Message));
            }
        }