示例#1
0
        //public string GenerateNumber(GenerateDocNumberInput input)
        //{
        //    string docNumber;

        //    var lastSeqData = _repository.Get(c => c.MONTH == input.Month && c.YEAR == input.Year).FirstOrDefault();

        //    if (lastSeqData == null)
        //    {
        //        //insert new record
        //        lastSeqData = new DOC_NUMBER_SEQ()
        //        {
        //            YEAR = input.Year, 
        //            MONTH = input.Month, 
        //            DOC_NUMBER_SEQ_LAST = 1
        //        };
        //        _repository.Insert(lastSeqData);
        //    }
        //    else
        //    {
        //        lastSeqData.DOC_NUMBER_SEQ_LAST += 1;
        //        _repository.Update(lastSeqData);
        //    }

        //    docNumber = lastSeqData.DOC_NUMBER_SEQ_LAST.ToString("0000000000");

        //    if (input.FormType != Enums.FormType.CK5)
        //    {
        //        var t001Data =
        //            _t001KReporRepository.Get(
        //                c =>
        //                    c.T001W.NPPBKC_ID == input.NppbkcId && c.T001W.IS_MAIN_PLANT.HasValue &&
        //                    c.T001W.IS_MAIN_PLANT.Value, null, "T001, T001W, T001W.ZAIDM_EX_NPPBKC").FirstOrDefault();

        //        if (t001Data == null || t001Data.T001 == null)
        //        {
        //            throw new BLLException(ExceptionCodes.BLLExceptions.GenerateNumberCompanyDataHasNotSet);
        //        }
                
        //        if (string.IsNullOrEmpty(t001Data.T001.BUTXT_ALIAS))
        //        {
        //            throw new BLLException(ExceptionCodes.BLLExceptions.GenerateNumberCompanyAliasHasNotSet);
        //        }

        //        if (t001Data.T001W == null || t001Data.T001W.ZAIDM_EX_NPPBKC == null)
        //        {
        //            throw new BLLException(ExceptionCodes.BLLExceptions.GenerateNumberPlantDataHasNotSet);
        //        }

        //        if (string.IsNullOrEmpty(t001Data.T001W.ZAIDM_EX_NPPBKC.CITY_ALIAS))
        //        {
        //            throw new BLLException(ExceptionCodes.BLLExceptions.GenerateNumberCityAliasHasNotSet);
        //        }

        //        //generate number
        //        docNumber = docNumber + "/" + t001Data.T001.BUTXT_ALIAS + "/" + t001Data.T001W.ZAIDM_EX_NPPBKC.CITY_ALIAS 
        //            + "/" + MonthHelper.ConvertToRomansNumeral(input.Month) + "/" + input.Year;

        //    }
            
        //    _uow.SaveChanges();

        //    return docNumber;

        //}

        /// <summary>
        /// Infinitive sequence number by Form Type
        /// </summary>
        /// <param name="formType"></param>
        /// <returns></returns>
        public string GenerateNumberByFormType(Enums.FormType formType)
        {
            while (true)
            {
                DOC_NUMBER_SEQ docSeqNumberToInsertOrUpdate;

                var docNumber = GetGenerateNumberByFormType(formType, out docSeqNumberToInsertOrUpdate);
                var isAlreadyExists = IsDocumentNumberAlreadyExists(docNumber);

                if (isAlreadyExists)
                    continue;

                if (docSeqNumberToInsertOrUpdate.DOC_NUMBER_SEQ_ID > 0)
                {
                    //update
                    _repository.Update(docSeqNumberToInsertOrUpdate);
                }
                else
                {
                    //insert new record
                    _repository.Insert(docSeqNumberToInsertOrUpdate);
                }

                _uow.SaveChanges();

                return docNumber;
            }
        }
示例#2
0
        private string GetGenerateNumberByFormType(Enums.FormType formType, out DOC_NUMBER_SEQ docSeqNumberToInsertOrUpdate)
        {
            var lastSeqData = _repository.Get(c => c.FORM_TYPE_ID == formType).FirstOrDefault();

            if (lastSeqData == null)
            {
                //insert new record
                lastSeqData = new DOC_NUMBER_SEQ()
                {
                    YEAR = 0,
                    MONTH = 1, //have rellation with table MONTH so default will be 1
                    FORM_TYPE_ID = formType,
                    DOC_NUMBER_SEQ_LAST = 1
                };
            }
            else
            {
                lastSeqData.DOC_NUMBER_SEQ_LAST += 1;
            }

            docSeqNumberToInsertOrUpdate = lastSeqData;

            var docNumber = lastSeqData.DOC_NUMBER_SEQ_LAST.ToString("0000000000");
            return docNumber;
        }
示例#3
0
        public List <PrintHistoryDto> GetByFormTypeAndFormId(Enums.FormType formType, long formId)
        {
            Expression <Func <PRINT_HISTORY, bool> > queryFilter = c => c.FORM_TYPE_ID == formType && c.FORM_ID == formId;
            var dbData = _repository.Get(queryFilter, null, includeTables);

            return(Mapper.Map <List <PrintHistoryDto> >(dbData));
        }