public async Task <WrapperIncomeTypeListVM> Delete(IncomeTypeVM itemTemp)
        {
            IEnumerable <IncomeType> itemTask = await _repositoryWrapper.IncomeType.FindByConditionAsync(x => x.Id == itemTemp.Id && x.FactoryId == itemTemp.FactoryId);

            var item = itemTask.ToList().FirstOrDefault();

            if (item == null)
            {
                return(new WrapperIncomeTypeListVM());
            }
            _repositoryWrapper.IncomeType.Delete(item);
            await _repositoryWrapper.IncomeType.SaveChangesAsync();

            this._utilService.LogInfo("Successful In Deleting Item Cateory");

            var dataParam = new GetDataListVM()
            {
                FactoryId  = itemTemp.FactoryId,
                PageNumber = 1,
                PageSize   = 10,
                TotalRows  = 0
            };
            WrapperIncomeTypeListVM data = await GetListPaged(dataParam);

            return(data);
        }
        public async Task <WrapperIncomeTypeListVM> Update(string id, IncomeTypeVM vm)
        {
            IEnumerable <IncomeType> ItemDB = await _repositoryWrapper.IncomeType.FindByConditionAsync(x => x.Id == id && x.FactoryId == vm.FactoryId);

            var ItemUpdated = _utilService.GetMapper().Map <IncomeTypeVM, IncomeType>(vm, ItemDB.ToList().FirstOrDefault());

            _repositoryWrapper.IncomeType.Update(ItemUpdated);
            await _repositoryWrapper.IncomeType.SaveChangesAsync();

            this._utilService.LogInfo("Successful In Updating Item Cateory");


            var dataParam = new GetDataListVM()
            {
                FactoryId  = vm.FactoryId,
                PageNumber = 1,
                PageSize   = 10,
                TotalRows  = 0
            };
            WrapperIncomeTypeListVM data = await GetListPaged(dataParam);

            return(data);
        }
        public async Task <WrapperIncomeTypeListVM> Add(IncomeTypeVM vm)
        {
            var entityToAdd = _utilService.GetMapper().Map <IncomeTypeVM, IncomeType>(vm);

            //string uniqueIdTask =await _repositoryWrapper.IncomeType.GetUniqueId();

            //// Todo  need to aandle unique id from db
            //entityToAdd.UniqueId = uniqueIdTask;
            entityToAdd = _repositoryWrapper.IncomeType.Create(entityToAdd);
            await _repositoryWrapper.IncomeType.SaveChangesAsync();

            this._utilService.LogInfo("Successful In saving  Item Category");

            var dataParam = new GetDataListVM()
            {
                FactoryId  = vm.FactoryId,
                PageNumber = 1,
                PageSize   = 10,
                TotalRows  = 0
            };
            WrapperIncomeTypeListVM data = await GetListPaged(dataParam);

            return(data);
        }
 public async Task <ActionResult <WrapperIncomeTypeListVM> > AddIncomeType([FromBody] IncomeTypeVM IncomeType)
 {
     return(await _serviceWrapper.IncomeTypeService.Add(IncomeType));
 }
 public async Task <ActionResult <WrapperIncomeTypeListVM> > UpdateIncomeType(string id, [FromBody] IncomeTypeVM IncomeType)
 {
     return(await _serviceWrapper.IncomeTypeService.Update(id, IncomeType));
 }
 public async Task <ActionResult <WrapperIncomeTypeListVM> > DeleteIncomeType([FromBody] IncomeTypeVM itemVM)
 {
     return(await _serviceWrapper.IncomeTypeService.Delete(itemVM));
 }