Example #1
0
        public string GetNewJobNumber()
        {
            string           docNo   = string.Empty;
            string           preFix  = string.Empty;
            int              running = 0;
            SequenceDocModel rowDoc  = factory.DocSeqDao.GetByType("JOB_ENTITY");

            if (rowDoc != null)
            {
                string[] words = rowDoc.Prefix.Split('#');
                preFix = words[0] + DateTime.Now.ToString(words[1]);

                if (rowDoc.LastUpdateDate.Month != DateTime.Now.Month)
                {
                    running = 1;
                }
                else
                {
                    running = rowDoc.NextVal;
                }

                rowDoc.NextVal        = running + 1;
                rowDoc.LastUpdateDate = DateTime.Now;
                UpdateDoc(rowDoc);
                docNo = string.Format("{0}{1}", preFix, running.ToString().PadLeft(rowDoc.RunningDigit, '0'));
            }
            return(docNo);
        }
        public string GenReturn(string type)
        {
            string           docNo   = string.Empty;
            string           preFix  = string.Empty;
            int              running = 0;
            SequenceDocModel rowDoc  = factory.DocSeqDao.GetByType(type);

            if (rowDoc != null)
            {
                string[] words = rowDoc.Prefix.Split('#');
                preFix = DateTime.Now.ToString(words[0]) + words[1];

                if (rowDoc.LastUpdateDate.Date != DateTime.Now.Date)
                {
                    running = 1;
                }
                else
                {
                    running = rowDoc.NextVal;
                }

                rowDoc.NextVal        = running + 1;
                rowDoc.LastUpdateDate = DateTime.Now;
                UpdateDoc(rowDoc);
                docNo = string.Format("RT{0}{1}", preFix, running.ToString().PadLeft(rowDoc.RunningDigit, '0'));
            }
            return(docNo);
        }
Example #3
0
        public void Delete(SequenceDocModel doc)
        {
            string sql =
                @"DELETE FROM doc_sequences_define
               WHERE DOC_SEQUENCE_ID = @DOC_SEQUENCE_ID";

            db.Update(sql, Take(doc));
        }
Example #4
0
        public void Insert(SequenceDocModel doc)
        {
            string sql =
                @"INSERT INTO doc_sequences_define (SRM_NAME, LOADER, 
                                 ROWS, CREATED_BY, CREATION_DATE, 
                                 LAST_UPDATED_BY, LAST_UPDATE_DATE, STATUS)
              VALUES (@SRM_NAME, @LOADER, 
                      @ROWS, @CREATED_BY, @CREATION_DATE, 
                      @LAST_UPDATED_BY, @LAST_UPDATE_DATE, @STATUS)";

            doc.Id = db.Insert(sql, Take(doc));
        }
        public string GenGRN(string type, DateTime receiptDate)
        {
            string           docNo   = string.Empty;
            string           preFix  = string.Empty;
            int              running = 0;
            SequenceDocModel rowDoc  = factory.DocSeqDao.GetByType(type);

            if (rowDoc != null)
            {
                string[] words = rowDoc.Prefix.Split('#');
                preFix = receiptDate.ToString(words[0]) + words[1];

                if (rowDoc.LastUpdateDate.Date == receiptDate.Date)     //Continue running
                {
                    running = rowDoc.NextVal;

                    rowDoc.NextVal        = running + 1;
                    rowDoc.LastUpdateDate = DateTime.Now;
                    UpdateDoc(rowDoc);
                }
                else if (rowDoc.LastUpdateDate.Date > receiptDate.Date)  //Outstanding
                {
                    try
                    {
                        var maxId = factory.POReceiptHaeaderDao.GetByDate(receiptDate, receiptDate).Max(m => m.ReceiptHeaderId);
                        var rcv   = factory.POReceiptHaeaderDao.GetByID(maxId);
                        if (rcv != null)
                        {
                            string[] number = rcv.ReceiptNum.Split('-');
                            running = Convert.ToInt32(number[1]) + 1;
                        }
                        else
                        {
                            running = 1;
                        }
                    }
                    catch
                    {
                        running = 1;
                    }
                }
                else   //Reset running a new day
                {
                    running               = 1;
                    rowDoc.NextVal        = running + 1;
                    rowDoc.LastUpdateDate = DateTime.Now;
                    UpdateDoc(rowDoc);
                }

                docNo = string.Format("RC{0}{1}", preFix, running.ToString().PadLeft(rowDoc.RunningDigit, '0'));
            }
            return(docNo);
        }
Example #6
0
        public void Update(SequenceDocModel doc)
        {
            string sql =
                @"UPDATE doc_sequences_define
                SET LAST_UPDATE_DATE = @LAST_UPDATE_DATE,
                    CREATION_DATE = @CREATION_DATE,
                    LAST_UPDATED_BY = @LAST_UPDATED_BY,
                    PREFIX = @PREFIX,
                    NEXTVAL = @NEXTVAL,
                    RUNNING_DIGIT = @RUNNING_DIGIT
               WHERE DOC_SEQUENCE_ID = @DOC_SEQUENCE_ID";

            db.Update(sql, Take(doc));
        }
Example #7
0
 private object[] Take(SequenceDocModel srm)
 {
     return(new object[]
     {
         "@DOC_SEQUENCE_ID", srm.Id,
         "@PREFIX", srm.Prefix,
         "@DOC_TYPE_CODE", srm.DocTypeCode,
         "@NEXTVAL", srm.NextVal,
         "@RUNNING_DIGIT", srm.RunningDigit,
         "@LAST_UPDATE_DATE", srm.LastUpdateDate,
         "@LAST_UPDATED_BY", srm.LastUpdatedBy,
         "@CREATION_DATE", srm.CreationDate,
         "@CREATED_BY", srm.CreatedBy
     });
 }
Example #8
0
 public void UpdateDoc(SequenceDocModel model)
 {
     factory.DocSeqDao.Update(model);
 }