public async Task <IActionResult> AddUpdate_V1_0(O2CCertificateForCreateDto o2CCertificationForCreateDto, ApiVersion apiVersion) { try { var createCertificate = MappingCertificate(o2CCertificationForCreateDto); var createEntity = await _certificatesBaseRepository.AddOrUpdateAsync(createCertificate); if (createEntity == null) { return(StatusCode(500)); } var certificateToReturn = _mapper.Map <O2CCertificateForReturnDto>(createEntity); return(CreatedAtAction(nameof(Get_V1_0), new { id = certificateToReturn.Id, actualInfo = false, v = apiVersion.ToString() }, certificateToReturn)); } catch (Exception e) { Console.WriteLine(e); throw; } }
private O2CCertificate MappingCertificate(O2CCertificateForCreateDto o2CCertificationForCreateDto) { var list = new List <O2CCertificateLocation>(); var locationList = _mapper.Map <List <O2CLocation> >(o2CCertificationForCreateDto.Locations); var photos = _mapper.Map <List <O2CPhoto> >(o2CCertificationForCreateDto.Photos); var contacts = _mapper.Map <List <O2CContact> >(o2CCertificationForCreateDto.Contacts); list.AddRange(locationList .Select(item => new O2CCertificateLocation() { O2CLocation = item })); var createCertificate = new O2CCertificate() { Id = o2CCertificationForCreateDto.Id, Serial = o2CCertificationForCreateDto.Serial, ShortNumber = o2CCertificationForCreateDto.ShortNumber, Number = o2CCertificationForCreateDto.Number, Firstname = o2CCertificationForCreateDto.Firstname, Lastname = o2CCertificationForCreateDto.Lastname, Middlename = o2CCertificationForCreateDto.Middlename, Education = o2CCertificationForCreateDto.Education, Visible = o2CCertificationForCreateDto.Visible, Lock = o2CCertificationForCreateDto.Lock, DateOfCert = o2CCertificationForCreateDto.DateOfCert, Locations = list, Photos = photos, Contacts = contacts }; return(createCertificate); }