public IHttpActionResult Update([FromBody] AddShopViewModel data, long id)
        {
            IHttpActionResult result = null;

            if (ModelState.IsValid)
            {
                try
                {
                    string authorizationCode = ConfigurationManager.AppSettings["authorizationCode"];
                    // authenticate and authorize user
                    if (userService.IsAuthenticated(data.Username, data.Password) && String.Compare(data.AuthorizationCode, authorizationCode, true) == 0)
                    {
                        shopService.Update(id, data.Shop);
                        result = Ok("Shop successfuly updated");
                    }
                    else
                    {
                        result = Unauthorized();
                    }
                }
                catch (Exception ex)
                {
                    // Todo: log the exception
                    result = BadRequest("An error occured while processing your request: " + ex.Message);
                }
            }
            else
            {
                result = BadRequest("Invalid data supplied!");
            }

            return(result);
        }
示例#2
0
        public JsonResult <BSEntityFramework_ResultType> PostNewShopes(AddShopViewModel newShop)
        {
            var BSResult = ShopesActivity.InsertShope(newShop);

            // var newShopId = ((TBL_Shops) BSResult.Entity).ShopID;


            return(Json <BSEntityFramework_ResultType>(BSResult));
        }
        public void Add_ValidObjectPassed_ReturnsCreatedObject()
        {
            // Arrange
            AddShopViewModel shop = new AddShopViewModel
            {
                ShopName = "Магазин 2",
                Address  = "Адрес 2"
            };

            // Act
            var okValue = shopsController.AddShop(shop).Result as OkObjectResult;

            // Assert
            Assert.Equal(shop, okValue.Value as AddShopViewModel);
        }
        public void Add_ValidObjectPassed_ReturnsCreatedResponse()
        {
            // Arrange
            AddShopViewModel shop = new AddShopViewModel
            {
                ShopName = "Магазин 2",
                Address  = "Адрес 2"
            };

            // Act
            var createdResponse = shopsController.AddShop(shop);

            // Assert
            Assert.IsType <OkObjectResult>(createdResponse.Result);
        }
示例#5
0
        public BSEntityFramework_ResultType InsertShope(AddShopViewModel newShop)
        {
            try
            {
                BSEntityFramework_ResultType result;
                using (BSDBEntities EF = new BSDBEntities())
                {
                    using (var transaction = EF.Database.BeginTransaction())
                    {
                        try
                        {
                            newShop.ShopDetails.ShopID = -1;
                            newShop.ShopDetails.TBL_UserAssignedShops.Add(new TBL_UserAssignedShops()
                            {
                                ShopLoginDetailsID = newShop.ShopDetails.CreatedBy, CreatedBy = newShop.ShopDetails.CreatedBy, IsActive = true
                            });
                            newShop.ShopDetails.TBL_ShopsInPostalCodes.Add(newShop.ShopPostalDetails);
                            EF.TBL_Shops.Add(newShop.ShopDetails);
                            EF.SaveChanges();

                            transaction.Commit();
                        }
                        catch (Exception ex)
                        {
                            transaction.Rollback();
                            var logact = new LoggerActivity();
                            result = new BSEntityFramework_ResultType(BSResult.Fail, newShop, null, "Technical issue");
                            logact.ErrorSetup("WebApp", "InsertShope Failed", "", "", "", ex.Message);
                            return(result);
                        }
                    }
                }

                result = new BSEntityFramework_ResultType(BSResult.Success, newShop, null, "Created Sucessfully");
                return(result);
            }
            catch (DbEntityValidationException dbValidationEx)
            {
                return(FormatException(dbValidationEx, newShop));
            }
            catch (Exception ex)
            {
                var logact = new LoggerActivity();
                var result = new BSEntityFramework_ResultType(BSResult.Fail, newShop, null, "Technical issue");
                logact.ErrorSetup("WebApp", "InsertShope Failed", "", "", "", ex.Message);
                return(result);
            }
        }
        public async Task <IActionResult> AddShop(AddShopViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = await GetCurrentUserAsync();

                var userId = user?.Id;

                WebRequest request = WebRequest.Create(_configuration.GetValue <string>("BackendUrl") + "api/shop/" + userId + "/" + model.name + "/" + model.latitude + "/" + model.longitude + "/" + model.area);
                request.Method = "Post";
                request.GetResponse();

                return(RedirectToAction("Index"));
            }
            return(View(model));
        }
        public void Add_InvalidObjectPassed_ReturnsBadRequest()
        {
            // Arrange
            AddShopViewModel addressMissingItem = new AddShopViewModel
            {
                ShopName = "Магазин 2",
                Address  = null,
            };

            shopsController.ModelState.AddModelError("Address", "Required");

            // Act
            var badResponse = shopsController.AddShop(addressMissingItem);

            // Assert
            Assert.IsType <BadRequestObjectResult>(badResponse.Result);
        }
示例#8
0
        public async Task <ActionResult> AddShop([FromBody] AddShopViewModel model)
        {
            logger.LogInformation("Method Home/AddShop is called ");

            if (!ModelState.IsValid)
            {
                logger.LogInformation("Result is BadRequest(400): {0}", ModelState.Values.ToString());
                return(BadRequest(ModelState));
            }

            if (await service.AddShop(model))
            {
                logger.LogInformation("Result is Ok(200). Added shop with name: {0} and address: {1}", model.ShopName, model.Address);
                return(Ok(model));
            }

            logger.LogInformation("Result is Internal Server Error(500)");
            return(new StatusCodeResult(StatusCodes.Status500InternalServerError));
        }
示例#9
0
        // Добавление магазина
        public async Task <bool> AddShop(AddShopViewModel model)
        {
            Shop shop = new Shop()
            {
                ShopName = model.ShopName,
                Address  = model.Address,
            };

            try
            {
                await unitOfWork.Shops.Add(shop);

                return(await unitOfWork.Complete());
            }
            catch (Exception ex)
            {
                logger.LogError("Error in Consultants/AddShop(): {0}", ex.Message);
                unitOfWork.Rollback();
            }
            return(false);
        }
        public IHttpActionResult Save([FromBody] AddShopViewModel data)
        {
            IHttpActionResult result = null;

            if (ModelState.IsValid)
            {
                try
                {
                    string authorizationCode = ConfigurationManager.AppSettings["authorizationCode"];
                    // authenticate and authorize user
                    if (userService.IsAuthenticated(data.Username, data.Password) && String.Compare(data.AuthorizationCode, authorizationCode, true) == 0)
                    {
                        shopService.Insert(data.Shop);
                        result = Ok("Shop successfuly added");
                    }
                    else
                    {
                        result = Unauthorized();
                    }
                }
                catch (Exception ex)
                {
                    // Todo: log the exception
                    result = BadRequest("An error occured while processing your request: " + ex.Message);
                }
            }
            else
            {
                string errorMsgs = string.Join("; ", ModelState.Values
                                               .SelectMany(x => x.Errors)
                                               .Select(x => x.ErrorMessage));
                result = BadRequest(errorMsgs);  // ("Invalid data supplied! Note that username, password, product name, Value and description are required!");
            }

            return(result);
        }
示例#11
0
        public ActionResult AddShop(AddShopViewModel model)
        {
            try
            {
                var currentUserId = CommonSafeConvert.ToInt(Session["CurrentUserID"]);
                if (!LoginResult.VerifyUserId(currentUserId))
                {
                }

                if (ModelState.IsValid)
                {
                    model.ShopDetails.CreatedBy       = currentUserId;
                    model.ShopPostalDetails.CreatedBy = currentUserId;
                    model.ShopPostalDetails.IsActive  = true;

                    var response = new CommonAjaxCallToWebAPI().AjaxPost("/api/shop/PostNewShopes", model, Convert.ToString(Session["BSWebApiToken"])).Result;
                    if (response.IsSuccessStatusCode)
                    {
                        var rslt = response.Content.ReadAsStringAsync().Result;
                        return(Json(new JavaScriptSerializer().Deserialize <object>(rslt),
                                    JsonRequestBehavior.AllowGet));
                    }
                    else
                    {
                        return(null);
                    }
                }
                FillViewDatasForAddShop();
                return(View("AddShop", model));
            }
            catch
            {
                FillViewDatasForAddShop();
                return(View());
            }
        }