/// <summary>
        /// This method is used to delete item data.
        /// </summary>
        /// <param name="unitOfWork">Object for Unit Of Work</param>
        /// <param name="model">Item model</param>
        /// <returns>It will return list of object</returns>
        public async Task <int> DeleteItem(IUnitOfWork unitOfWork, int id)
        {
            _param   = new[] { SQLParameters.ID };
            _columns = new object[] { id };
            var parameter = MultiPurpose.AddParameters(_param, _columns);
            var result    = unitOfWork.StoredProcedureCall.Single <int>(ProcedureNames.DELETE_ITEM_DATA, parameter);

            return(await Task.FromResult(result));
        }
        /// <summary>
        /// This method is used to edit item data.
        /// </summary>
        /// <param name="unitOfWork">Object for Unit Of Work</param>
        /// <param name="model">Item model</param>
        /// <returns>It will return list of object</returns>
        public async Task <int> EditItem(IUnitOfWork unitOfWork, Items model)
        {
            _param   = new[] { SQLParameters.ID, SQLParameters.NAME, SQLParameters.DESCRIPRION, SQLParameters.PRICE };
            _columns = new object[] { model.Id, model.Name, model.Descriprion, model.Price };
            var parameter = MultiPurpose.AddParameters(_param, _columns);
            var result    = unitOfWork.StoredProcedureCall.Single <int>(ProcedureNames.EDIT_ITEM_DATA, parameter);

            return(await Task.FromResult(result));
        }
        public async Task <ActionResult> DeleteItem([FromBody] int id)
        {
            var error = new List <Microsoft.AspNetCore.Mvc.ModelBinding.ModelError>();

            var data = await _itemProcessor.DeleteItem(_unitOfWork, id);

            _data = JsonConvert.SerializeObject(data);

            _response = MultiPurpose.ReturnResponse(_data, error);

            return(Ok(_response));
        }
        public async Task <ActionResult> EditItem([FromBody] Items model)
        {
            var error = new List <Microsoft.AspNetCore.Mvc.ModelBinding.ModelError>();

            if (ModelState.IsValid)
            {
                var data = await _itemProcessor.EditItem(_unitOfWork, model);

                _data = JsonConvert.SerializeObject(data);
            }
            else
            {
                error = ModelState.Where(a => a.Value.Errors.Count > 0).SelectMany(x => x.Value.Errors).ToList();
            }
            _response = MultiPurpose.ReturnResponse(_data, error);

            return(Ok(_response));
        }