Example #1
0
        public BSEntityFramework_ResultType InsertShopOffer(AddShopOffersViewModel newShopOffer)
        {
            try
            {
                using (BSDBEntities EF = new BSDBEntities())
                {
                    var shopId      = newShopOffer.ShopOffer.ShopID;
                    var totalOffers = EF.TBL_ShopOffers.Count(x => x.ShopID == shopId) + 1;
                    newShopOffer.ShopOffer.OfferID
                        = CommonSafeConvert.ToInt(Convert.ToString(shopId) + Convert.ToString(totalOffers));
                    foreach (var prod in newShopOffer.OfferonProducts)
                    {
                        prod.CreatedBy  = newShopOffer.ShopOffer.CreatedBy;
                        prod.CreateDate = DateTime.Now;
                        prod.IsActive   = true;
                    }
                    newShopOffer.ShopOffer.TBL_OfferOnProducts = (newShopOffer.OfferonProducts);
                    EF.TBL_ShopOffers.Add(newShopOffer.ShopOffer);
                    EF.SaveChanges();
                }

                var result = new BSEntityFramework_ResultType(BSResult.Success, newShopOffer.ShopOffer, null, "Created Sucessfully");
                return(result);
            }
            catch (DbEntityValidationException dbValidationEx)
            {
                return(FormatException(dbValidationEx, newShopOffer));
            }
            catch (Exception ex)
            {
                var logact = new LoggerActivity();
                var result = new BSEntityFramework_ResultType(BSResult.Fail, newShopOffer, null, "Technical issue");
                logact.ErrorSetup("WebApp", "InsertShopOffer Failed", "", "", "", ex.Message);
                return(result);
            }
        }
        public async Task <ActionResult> AddShopOffer(AddShopOffersViewModel model)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    using (var client = new HttpClient())
                    {
                        var currentUserId = CommonSafeConvert.ToInt(Session["CurrentUserID"]);
                        model.ShopOffer.ShopID    = GetCurrentShopId();
                        model.ShopOffer.CreatedBy = currentUserId;

                        var selectedProductList = new JavaScriptSerializer().Deserialize <List <SelectedProductList> >(model.SelectedProductJson);
                        model.OfferonProducts = new List <TBL_OfferOnProducts>();
                        selectedProductList.ForEach(x => model.OfferonProducts.Add(new TBL_OfferOnProducts()
                        {
                            ProductID = x.ProductID, OfferID = model.ShopOffer.OfferID
                        }));

                        client.BaseAddress = new Uri(WebAppConfig.GetConfigValue("WebAPIUrl"));
                        client.DefaultRequestHeaders.Accept.Clear();
                        client.DefaultRequestHeaders.Accept.Add(
                            new MediaTypeWithQualityHeaderValue("application/json"));
                        var response = await client.PostAsJsonAsync("/api/shopoffers/PostNewShopOffers", model);

                        // var response = new CommonAjaxCallToWebAPI().AjaxPost(@"/api/shopoffers/PostNewShopOffers", model);

                        if (response.StatusCode == System.Net.HttpStatusCode.OK)
                        {
                            var rslt = await response.Content.ReadAsStringAsync();

                            var reslt = new JavaScriptSerializer().Deserialize <BSEntityFramework_ResultType>(rslt);
                            if (reslt.Result == BSResult.FailForValidation)
                            {
                                foreach (var valerr in reslt.EntityValidationException)
                                {
                                    ModelState.AddModelError("BS Errors", valerr);
                                }
                            }
                            else
                            {
                                ModelState.AddModelError("BS Errors", reslt.ResultMsg);
                            }
                            //return reslt;
                            FillViewDatasForAddShopOffers();
                            return(View());
                        }
                        else
                        {
                            FillViewDatasForAddShopOffers();
                            return(View());
                        }
                    }
                }
                FillViewDatasForAddShopOffers();
                return(View("AddShopOffer", model));
            }
            catch (Exception ex)
            {
                FillViewDatasForAddShopOffers();
                return(View());
            }
        }
        public JsonResult <BSEntityFramework_ResultType> PostNewShopOffers(AddShopOffersViewModel newShopOffers)
        {
            var BSResult = ShopOffersActivity.InsertShopOffer(newShopOffers);

            return(Json <BSEntityFramework_ResultType>(BSResult));
        }