public async Task <int> GetSerialNumber(int departmentId, EnumSerialNumberType type)
        {
            var serialNo = await _serialNumberManager.GetSerialNumber(departmentId, type);

            if (serialNo != 0)
            {
                await _unitOfWork.CommitAsync();
            }

            return(serialNo);
        }
        public async Task <int> GetSerialNumber(int departmentId, EnumSerialNumberType type)
        {
            var serialNumber = await _numberRepository.GetQueryable().Where(a => a.DepartmentId == departmentId && (int)a.Type == (int)type)
                               .FirstOrDefaultAsync();

            if (serialNumber == null)
            {
                serialNumber = new SerialNumber
                {
                    DepartmentId = departmentId,
                    Type         = type,
                    Year         = DateTime.Now.Year,
                    Number       = 1
                };
                await _numberRepository.AddAsync(serialNumber);
            }

            var no = serialNumber.Number;

            serialNumber.Number = serialNumber.Number + 1;
            return(no);
        }