public PublicIncomeDto GetById(int id)
        {
            PublicIncomeDto publicIncomeDto = null;

            try
            {
                var publicIncome = _unitOfWork.GenericRepository <PublicIncome>().GetById(id);
                if (publicIncome != null)
                {
                    publicIncomeDto = Mapper.Map <PublicIncome, PublicIncomeDto>(publicIncome);
                }
            }
            catch (Exception ex)
            {
                Tracing.SaveException(ex);
            }

            return(publicIncomeDto);
        }
        public PublicIncomeDto Update(PublicIncomeUpdateDto dto)
        {
            PublicIncomeDto publicIncomeDto = null;

            try
            {
                var publicIncome = _unitOfWork.GenericRepository <PublicIncome>().GetById(dto.Id);
                Mapper.Map <PublicIncomeUpdateDto, PublicIncome>(dto, publicIncome);
                publicIncome.ModifiedBy = _appSession.GetUserName();
                _unitOfWork.CreateTransaction();

                _unitOfWork.GenericRepository <PublicIncome>().Update(publicIncome);
                _unitOfWork.Save();

                _unitOfWork.Commit();

                publicIncomeDto = Mapper.Map <PublicIncome, PublicIncomeDto>(publicIncome);
            }
            catch (Exception ex)
            {
                Tracing.SaveException(ex);
            }
            return(publicIncomeDto);
        }
        public PublicIncomeDto Insert(PublicIncomeInsertDto dto)
        {
            PublicIncomeDto publicIncomeDto = null;

            try
            {
                var publicIncome = Mapper.Map <PublicIncomeInsertDto, PublicIncome>(dto);

                _unitOfWork.CreateTransaction();

                publicIncome.CreatedBy = _appSession.GetUserName();
                publicIncome.IsEnabled = true;

                _unitOfWork.GenericRepository <PublicIncome>().Insert(publicIncome);

                var publicMoney = new PublicMoney()
                {
                    CreatedBy    = _appSession.GetUserName(),
                    PublicIncome = publicIncome
                };

                _unitOfWork.GenericRepository <PublicMoney>().Insert(publicMoney);

                _unitOfWork.Save();

                _unitOfWork.Commit();

                publicIncomeDto = Mapper.Map <PublicIncome, PublicIncomeDto>(publicIncome);
            }
            catch (Exception ex)
            {
                Tracing.SaveException(ex);
                _unitOfWork.Rollback();
            }
            return(publicIncomeDto);
        }