Beispiel #1
0
 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());
 }
Beispiel #2
0
        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));
        }