public Task <TreasuryCashDto> InsertAsync(TreasuryCashDto dto)
        {
            return(Task.Factory.StartNew(() => {
                TreasuryCashDto treasuryCashDto = null;
                try
                {
                    var treasuryCash = Mapper.Map <TreasuryCashDto, TreasuryCash>(dto);
                    treasuryCash.CreatedBy = _appSession.GetUserName();
                    treasuryCash.IsEnabled = true;
                    _unitOfWork.CreateTransaction();

                    _unitOfWork.GenericRepository <TreasuryCash>().Insert(treasuryCash);
                    _unitOfWork.Save();

                    _unitOfWork.Commit();

                    treasuryCashDto = Mapper.Map <TreasuryCash, TreasuryCashDto>(treasuryCash);
                }
                catch (Exception ex)
                {
                    Tracing.SaveException(ex);
                    _unitOfWork.Rollback();
                }
                return treasuryCashDto;
            }));
        }
        public TreasuryCashDto Update(TreasuryCashDto dto)
        {
            TreasuryCashDto treasuryCashDto = null;

            try
            {
                var treasuryCash = _unitOfWork.GenericRepository <TreasuryCash>().GetById(dto.Id);
                Mapper.Map <TreasuryCashDto, TreasuryCash>(dto, treasuryCash);
                treasuryCash.ModifiedBy = _appSession.GetUserName();
                //_unitOfWork.CreateTransaction();

                _unitOfWork.GenericRepository <TreasuryCash>().Update(treasuryCash);
                _unitOfWork.Save();

                //_unitOfWork.Commit();

                treasuryCashDto = Mapper.Map <TreasuryCash, TreasuryCashDto>(treasuryCash);
            }
            catch (Exception ex)
            {
                Tracing.SaveException(ex);
            }
            return(treasuryCashDto);
        }