Example #1
0
        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);
        }
Example #2
0
        public static DeleteOfferResult DeleteOffer(DeleteOfferModel model)
        {
            var url   = $"{SchemeAndHost}/api/offers/delete-offer";
            var jData = JsonConvert.SerializeObject(model);

            return(ApiProvider.ExecutePostSync <DeleteOfferResult>(url, jData));
        }
Example #3
0
 public DeleteOfferResult DeleteOffer(DeleteOfferModel model)
 {
     return(Retry.Do(() => this.DeleteOfferInternal(model)));
 }
Example #4
0
        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);
        }