private DeleteOfferResult DeleteOfferInternal(DeleteOfferModel model) { var result = new DeleteOfferResult(); var context = new BloodSearchContext(); var offer = context.Offers.Single(x => x.Id == model.OfferId); result.ErrMessages = ValidateDeleteOfferModel(model, offer); if (result.ErrMessages.Any()) { result.Success = false; return(result); } offer.State = OfferStateEnum.Deleted; 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 DeleteOfferResult DeleteOffer(DeleteOfferModel model) { var url = $"{SchemeAndHost}/api/offers/delete-offer"; var jData = JsonConvert.SerializeObject(model); return(ApiProvider.ExecutePostSync <DeleteOfferResult>(url, jData)); }
public DeleteOfferResult DeleteOffer(DeleteOfferModel model) { return(Retry.Do(() => this.DeleteOfferInternal(model))); }
private static List <KeyValuePair <string, string> > ValidateDeleteOfferModel(DeleteOfferModel 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); }