public dynamic Delete(int id)
        {
            var result = new { state = "", title = "", message = "", close = false };
            try
            {
                if (IsModelStateValid)
                {
                    SubscriptionOffer offer = CookBazaarContext.SubscriptionOffers.Find(id);
                    CookBazaarContext.SubscriptionOffers.Remove(offer);
                    CookBazaarContext.SaveChanges();
                    result = new
                    {
                        state = "success",
                        title = Domain.Resources.GeneralMessage.SuccessTitle,
                        message = Domain.Resources.SYS.SubscriptionOffers.SubscriptionOffer.DeletingSuccessfully,
                        close = true
                    };
                }
                else
                {
                    result = new
                    {
                        state = "warning",
                        title = Domain.Resources.GeneralMessage.ErrorTitle,
                        message = Domain.Resources.GeneralMessage.ErrorWhileProcessingData,
                        close = false
                    };
                }
            }
            catch (Exception ex)
            {
                if (ex.InnerException.InnerException.Message.Contains("REFERENCE"))
                {
                    result = new
                    {
                        state = "warning",
                        title = Domain.Resources.GeneralMessage.ErrorTitle,
                        message = Domain.Resources.SYS.SubscriptionOffers.SubscriptionOffer.RelatedDataException,
                        close = false
                    };
                }
                else
                {
                    Repository.ExceptionLog.AddException(ex, "SubscriptionOfferRep/Delete", "");
                    result = new
                    {
                        state = "warning",
                        title = Domain.Resources.GeneralMessage.ErrorTitle,
                        message = Domain.Resources.GeneralMessage.GeneralExceptionMessage,
                        close = false
                    };
                }
            }
            return result;

        }
 public dynamic Add(SubscriptionOffer offer)
 {
     var result = new { state = "", title = "", message = "", close = false };
     try
     {
         if (IsModelStateValid)
         {
             CookBazaarContext.SubscriptionOffers.Add(offer);
             foreach (SubscriptionPeriodControl period in offer.PeriodsControl)
             {
                 if(period.IsCheck)
                 offer.subscriptionPeriods.Add(CookBazaarContext.SubscriptionPeriods.Find(period.PeriodID));
             }
             foreach (DayControl day in offer.DaysControl)
             {
                 if (day.IsCheck)
                 offer.WorkingDays.Add(CookBazaarContext.Days.Find(day.DayID));
             }
             CookBazaarContext.SaveChanges();
             result = new
             {
                 state = "success",
                 title = Domain.Resources.GeneralMessage.SuccessTitle,
                 message = Domain.Resources.SYS.SubscriptionOffers.SubscriptionOffer.AddingSuccessfully,
                 close = true
             };
         }
         else
         {
             result = new
             {
                 state = "warning",
                 title = Domain.Resources.GeneralMessage.ErrorTitle,
                 message = Domain.Resources.GeneralMessage.ErrorWhileProcessingData,
                 close = false
             };
         }
     }
     catch (Exception ex)
     {
         Repository.ExceptionLog.AddException(ex, "SubscriptionOfferRep/Add", "");
         result = new
         {
             state = "warning",
             title = Domain.Resources.GeneralMessage.ErrorTitle,
             message = Domain.Resources.GeneralMessage.ErrorWhileSaving,
             close = false
         };
     }
     return result;
 }
 public dynamic Active(int id)
 {
     var result = new { state = "", title = "", message = "", close = false };
     try
     {
         if (IsModelStateValid)
         {
             SubscriptionOffer offer = CookBazaarContext.SubscriptionOffers.Find(id);
             offer.IsActive = !offer.IsActive;
             CookBazaarContext.Entry(offer).State = EntityState.Modified;
             CookBazaarContext.SaveChanges();
             result = new
             {
                 state = "success",
                 title = Domain.Resources.GeneralMessage.SuccessTitle,
                 message = (offer.IsActive ? Domain.Resources.SYS.SubscriptionOffers.SubscriptionOffer.ActivatingSuccessfully : Domain.Resources.SYS.SubscriptionOffers.SubscriptionOffer.DeactivatingSuccessfully),
                 close = true
             };
         }
         else
         {
             result = new
             {
                 state = "warning",
                 title = Domain.Resources.GeneralMessage.ErrorTitle,
                 message = Domain.Resources.GeneralMessage.ErrorWhileProcessingData,
                 close = false
             };
         }
     }
     catch (Exception ex)
     {
         Repository.ExceptionLog.AddException(ex, "SubscriptionOfferRep/Active", "");
         result = new
         {
             state = "warning",
             title = Domain.Resources.GeneralMessage.ErrorTitle,
             message = Domain.Resources.GeneralMessage.GeneralExceptionMessage,
             close = false
         };
     }
     return result;
 }
 public dynamic Edit(SubscriptionOffer offer)
 {
     var result = new { state = "", title = "", message = "", close = false };
     try
     {
         if (IsModelStateValid)
         {
             CookBazaarContext.Entry(offer).State = EntityState.Modified;
             CookBazaarContext.SaveChanges();
             result = new
             {
                 state = "success",
                 title = Domain.Resources.GeneralMessage.SuccessTitle,
                 message = Domain.Resources.SYS.SubscriptionOffers.SubscriptionOffer.EdittingSuccessfully,
                 close = true
             };
         }
         else
         {
             result = new
             {
                 state = "warning",
                 title = Domain.Resources.GeneralMessage.ErrorTitle,
                 message = Domain.Resources.GeneralMessage.ErrorWhileProcessingData,
                 close = false
             };
         }
     }
     catch (Exception ex)
     {
         Repository.ExceptionLog.AddException(ex, "SubscriptionOfferRep/Edit", "");
         result = new
         {
             state = "warning",
             title = Domain.Resources.GeneralMessage.ErrorTitle,
             message = Domain.Resources.GeneralMessage.ErrorWhileSaving,
             close = false
         };
     }
     return result;
 }