public static Rating MapToPartnerRating(this PartnerRatingModel partnerRatingModel) { return(partnerRatingModel != null ? new Rating { Id = partnerRatingModel.Id, DeviceId = partnerRatingModel.DeviceId, Modified = DateTime.UtcNow, PartnerId = partnerRatingModel.PartnerId, Mark = partnerRatingModel.Mark } : new Rating()); }
public async Task <ActionResult> PostAsync([FromBody] PartnerRatingModel model) { if (ModelState.IsValid) { try { if (!string.IsNullOrEmpty(model.Id)) { // in case of updating if (!await _partnerRatingService.IsValidIdDeviceIdPartnerIdFields(model.MapToPartnerRating())) { return(BadRequest("Uncorrent all or some of this fields: Id, DeviceId, ParnterId")); } } var activeIds = await _partnerService.GetActivePartnerIdsAsync(); if (!activeIds.Contains(model.PartnerId)) { return(BadRequest("This ParnterId doesn't exist")); } var result = await _partnerRatingService.UpsertRatingAsync(model.MapToPartnerRating()); return(Ok(result.MapToPartnerRatingModel())); } catch (Exception ex) { return(BadRequest(new ErrorModel { Error = ex.Message })); } } return(BadRequest(ModelState)); }