private PublishOfferResult PublishOfferInternal(PublishOfferModel model) { var result = new PublishOfferResult(); var context = new BloodSearchContext(); var offer = context.Offers.Single(x => x.Id == model.OfferId); result.ErrMessages = ValidatePublishOfferModel(model, offer); if (result.ErrMessages.Any()) { result.Success = false; return(result); } offer.State = OfferStateEnum.Published; offer.RowChangedDate = DateTime.Now; offer.RowProcessingStatus = RowProcessingStatusEnum.Processed; context.SaveChanges(); context.Entry(offer).State = System.Data.Entity.EntityState.Detached; result.Success = true; return(result); }
public static PublishOfferResult PublishOffer(PublishOfferModel model) { var url = $"{SchemeAndHost}/api/offers/publish-offer"; var jData = JsonConvert.SerializeObject(model); return(ApiProvider.ExecutePostSync <PublishOfferResult>(url, jData)); }
public PublishOfferResult Publishffer(PublishOfferModel model) { return(Retry.Do(() => this.PublishOfferInternal(model))); }
private static List <KeyValuePair <string, string> > ValidatePublishOfferModel(PublishOfferModel model, Offer offer) { var result = new List <KeyValuePair <string, string> >(); if (!model.IsAdmin && model.UserId != offer.UserId) { result.Add(new KeyValuePair <string, string>("wrong user", "указанный пользователь не совпадает")); } return(result); }