public async Task <IActionResult> UpdateBreedingRecord(UpdatedBreedingRecordDto updatedBreedingRecord)
        {
            return(Ok(await _breedingRecordService.UpdateBreedingRecord(updatedBreedingRecord)));

            /*
             * ServiceResponse<GetBreedingRecordDto> response = await _breedingRecordService.UpdateBreedingRecord(updatedBreedingRecord);
             *
             * if (response.Data == null)
             * {
             *  return NotFound(response);
             * }
             * else
             * {
             *  return Ok(response);
             * }
             */
        }
Beispiel #2
0
        public async Task <ServiceResponse <GetBreedingRecordDto> > UpdateBreedingRecord(UpdatedBreedingRecordDto updatedBreedingRecord)
        {
            ServiceResponse <GetBreedingRecordDto> serviceResponse = new ServiceResponse <GetBreedingRecordDto>();

            try
            {
                BreedingRecord breedingRecord = await _context.BreedingRecords.Include(c => c.User).AsNoTracking().FirstOrDefaultAsync(c => c.Id == updatedBreedingRecord.Id);

                //BreedingRecord mappedUpdated = _mapper.Map<BreedingRecord>(updatedBreedingRecord);

                if (breedingRecord.User.Id == GetUserId())
                {
                    //breedingRecord = Utility.Util.CloneJson<BreedingRecord>(mappedUpdated);

                    breedingRecord.Name  = updatedBreedingRecord.Name;
                    breedingRecord.Owner = await _context.Contacts.FirstOrDefaultAsync(c => c.Id == updatedBreedingRecord.OwnerId);

                    breedingRecord.Breeder = await _context.Contacts.FirstOrDefaultAsync(c => c.Id == updatedBreedingRecord.BreederId);

                    breedingRecord.BirthLitter = await _context.Litters.FirstOrDefaultAsync(c => c.Id == updatedBreedingRecord.BirthLitterId);

                    breedingRecord.Sex               = updatedBreedingRecord.Sex == 1 ? Gender.Male : Gender.Female;
                    breedingRecord.Public            = updatedBreedingRecord.Public;
                    breedingRecord.Birthday          = updatedBreedingRecord.Birthday;
                    breedingRecord.DateOfAcquisition = updatedBreedingRecord.DateOfAcquisition;

                    _context.BreedingRecords.Update(breedingRecord);

                    await _context.SaveChangesAsync();

                    serviceResponse.Data = _mapper.Map <GetBreedingRecordDto>(breedingRecord);
                }
                else
                {
                    serviceResponse.Success = false;
                    serviceResponse.Message = "Record not found.";
                }
            }
            catch (Exception ex)
            {
                serviceResponse.Success = false;
                serviceResponse.Message = ex.Message;
            }

            return(serviceResponse);
        }