//Update list Attribute values if existed or create new if not existed public BaseResponse <bool> Synchronize(List <YachtTourAttributeValueUpdateModel> models) { try { var listForCreate = new List <YachtTourAttributeValueCreateModel>(); var listForUpdate = new List <YachtTourAttributeValueUpdateModel>(); foreach (var item in models) { var tourId = item.YachtTourFid.Decrypt().ToInt32(); var entity = _db.YachtTourAttributeValues.AsNoTracking().FirstOrDefault(k => k.YachtTourFid == tourId && k.AttributeFid == item.AttributeFid); if (entity != null) { listForUpdate.Add(item); } else { var createModel = new YachtTourAttributeValueCreateModel(); createModel.InjectFrom(item); listForCreate.Add(createModel); } } var createResult = Create(listForCreate); var updateResult = Update(listForUpdate); if (createResult.IsSuccessStatusCode && updateResult.IsSuccessStatusCode) { return(BaseResponse <bool> .Success(true)); } return(BaseResponse <bool> .BadRequest()); } catch (Exception ex) { return(BaseResponse <bool> .InternalServerError(message : ex.Message, fullMsg : ex.StackTrace)); } }
private YachtTourAttributeValues GenerateForCreate(YachtTourAttributeValueCreateModel model) { var entity = _mapper.Map <YachtTourAttributeValueCreateModel, YachtTourAttributeValues>(model); var now = DateTime.Now.Date; var userId = UserContextHelper.UserId; entity.LastModifiedBy = userId; entity.LastModifiedDate = now; return(entity); }
public BaseResponse <bool> Create(YachtTourAttributeValueCreateModel model) { try { var entity = GenerateForCreate(model); _db.YachtTourAttributeValues.Add(entity); var resul = _db.SaveChanges(); return(resul > 0 ? BaseResponse <bool> .Success(true) : BaseResponse <bool> .BadRequest()); } catch (Exception ex) { return(BaseResponse <bool> .InternalServerError(message : ex.Message, fullMsg : ex.StackTrace)); } }