// GET: Item/Edit/5
        public ActionResult Edit(int id)
        {
            if (id <= 0)
            {
                return(RedirectToAction("List"));
            }

            string emailId   = HttpContext.Session.GetString("EmailId");
            int    creatorId = Convert.ToInt32(HttpContext.Session.GetInt32("CreatorId"));

            if (String.IsNullOrEmpty(emailId))
            {
                return(RedirectToRoute("Login"));
            }

            UserManager user = _userManagerService.GetUserByEmail(emailId);

            if (user == null)
            {
                return(RedirectToRoute("Login"));
            }

            CommonEnum.UserRoleType roletype = (CommonEnum.UserRoleType)Enum.Parse(typeof(CommonEnum.UserRoleType), user.RoleManager.Name);

            if ((roletype != CommonEnum.UserRoleType.admin) && (roletype != CommonEnum.UserRoleType.management))
            {
                return(RedirectToRoute("Login"));
            }

            Items item = _itemsService.GetItemDataById(id);

            ItemViewModel model = EntityToModel(item);

            return(View(model));
        }
Пример #2
0
        public IActionResult Edit([FromBody] ItemCreateEditModel itemModel)
        {
            string email    = Request.Headers["Email"];
            string password = Request.Headers["Password"];
            //ItemHelper itemHelper = new ItemHelper(_hostingEnvironment);
            ItemReturnModel itemReturnModel = new ItemReturnModel();

            try
            {
                if (String.IsNullOrEmpty(email) || String.IsNullOrEmpty(password))
                {
                    return(BadRequest(_itemHelper.response(false, 500, "User can not authenticate please check email and password")));
                }

                if (itemModel == null)
                {
                    return(BadRequest(_itemHelper.response(false, 500, "Item model is empty")));
                }

                UserManager user = _userManagerService.AuthenticateUser(email, password);

                if (user == null)
                {
                    return(BadRequest(_itemHelper.response(false, 500, "User model is empty")));
                }

                CommonEnum.UserRoleType roletype = (CommonEnum.UserRoleType)Enum.Parse(typeof(CommonEnum.UserRoleType), user.RoleManager.Name);

                if (itemModel.Id <= 0)
                {
                    return(BadRequest(_itemHelper.response(false, 500, "Item id is not valid or empty")));
                }

                if ((roletype != CommonEnum.UserRoleType.admin) && (roletype != CommonEnum.UserRoleType.management))
                {
                    return(BadRequest(_itemHelper.response(false, 500, "You dont have right's to update entries")));
                }

                Items item = _itemsService.GetItemDataById(itemModel.Id);

                if (item != null && item.Name != itemModel.Name)
                {
                    Guid fileName = Guid.NewGuid();
                    //Generate QR code
                    itemModel.QrCodePath = _itemHelper.QrProcess(itemModel.Name, Convert.ToString(fileName));
                }

                if (!String.IsNullOrEmpty(itemModel.Name))
                {
                    item    = _itemHelper.ModelToEntity(itemModel, user.Id, item);
                    item.Id = itemModel.Id;
                    bool isSuccess = _itemsService.UpdateItem(item);

                    if (isSuccess == false)
                    {
                        return(BadRequest(_itemHelper.response(false, 500, "Internal server error")));
                    }

                    //Insert Pictures
                    if (itemModel.Pictures.Count > 0)
                    {
                        try
                        {
                            _itemHelper.InsertPictures(item.Id, user.Id, itemModel, itemReturnModel);
                        }
                        catch (Exception ex)
                        {
                            throw;
                        }
                    }
                    //Insert Documents
                    if (itemModel.Documents.Count > 0)
                    {
                        _itemHelper.InsertDocuments(item.Id, user.Id, itemModel, itemReturnModel);
                    }

                    itemReturnModel.Id         = itemModel.Id;
                    itemReturnModel.QrCodePath = item.QrCodePath;
                    itemReturnModel.Status     = true;
                    itemReturnModel.StatusCode = 200;

                    return(Ok(itemReturnModel));
                }
                return(BadRequest(_itemHelper.response(false, 500, "Internal server error")));
            }
            catch (Exception ex)
            {
                return(BadRequest(_itemHelper.response(false, 500, ex.Message)));
            }
        }