예제 #1
0
        public NewContractInfo getContractNew(int _ID, string _userID)
        {
            NewContractInfo      record        = new NewContractInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                record             = ContractDataLayer.GetInstance().getContractNew(connection, _ID);
                record.negotiation = NegotiationService.GetInstance().GetNegotiation(record.NegotiationID, _userID);

                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Contract.ToString();
                documentCriteria.PreferId  = _ID.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);

                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Contract.ToString();
                commentCriteria.PreferId  = _ID.ToString();
                record.ListComment        = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in record.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }

                return(record);
            }
        }
예제 #2
0
        public ContractInfo getContract(int _ID, string _userID)
        {
            ContractInfo         record        = new ContractInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                record       = ContractDataLayer.GetInstance().getContract(connection, _ID, _userID);
                record.Items = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection,
                                                                                  record.QuoteID);
                //bidPlanDetail.ListMember = BidPlanDataLayer.GetInstance().GetBidPlanMembers(connection, _ID);
                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Contract.ToString();
                documentCriteria.PreferId  = _ID.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);

                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Contract.ToString();
                commentCriteria.PreferId  = _ID.ToString();
                record.ListComment        = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in record.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }

                return(record);
            }
        }
예제 #3
0
 public List <DocumentInfo> GetDocument(DocumentSeachCriteria _criteria)
 {
     if (!string.IsNullOrEmpty(_criteria.PreferId))
     {
         SqlConnectionFactory sqlConnection = new SqlConnectionFactory();
         using (SqlConnection connection = sqlConnection.GetConnection())
         {
             List <DocumentInfo> ListDocument = DocumentDataLayer.GetInstance().getDocument(connection, _criteria);
             return(ListDocument);
         }
     }
     else
     {
         return(null);
     }
 }
예제 #4
0
        public ContractInfo GetContractByCode(string code, string _userID)
        {
            ContractInfo         record        = new ContractInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                record = ContractDataLayer.GetInstance().GeContractByCode(connection, code, _userID);
                if (record == null)
                {
                    return(null);
                }

                record.Items = new List <ItemInfo>();
                record.Items = QuoteDataLayer.GetInstance().GetQuoteItems(connection, record.QuoteID);

                QuoteInfo quote = QuoteDataLayer.GetInstance().getQuote(connection, record.QuoteID, _userID);
                if (quote.TotalCost > 30000000)
                {
                    record.DeliveryReceiptType = 2;
                }
                else
                {
                    record.DeliveryReceiptType = 1;
                }
                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Contract.ToString();
                documentCriteria.PreferId  = record.QuoteID.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);

                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Contract.ToString();
                commentCriteria.PreferId  = record.QuoteID.ToString();
                record.ListComment        = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in record.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }

                return(record);
            }
        }
예제 #5
0
        public ProposalDetailInfo GetDetailProposalByCode(string code, string _userID)
        {
            ProposalDetailBase   proposalDetail = new ProposalDetailBase();
            SqlConnectionFactory sqlConnection  = new SqlConnectionFactory();
            ProposalDetailInfo   ret;

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                proposalDetail = ProposalDataLayer.GetInstance().getProposalDetailByCode(connection, code, _userID);
                if (proposalDetail == null)
                {
                    return(null);
                }
                ret             = new ProposalDetailInfo(proposalDetail);
                ret.ListComment = new List <CommentInfo>();

                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Proposal.ToString();
                documentCriteria.PreferId  = proposalDetail.ProposalID.ToString();
                ret.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria);

                ret.Items = new List <ItemPropsalInfo>();
                ret.Items = ProposalDataLayer.GetInstance().GetPropsalItems(connection, proposalDetail.ProposalID);

                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Proposal.ToString();
                commentCriteria.PreferId  = proposalDetail.ProposalID.ToString();
                ret.ListComment           = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in ret.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }
            }
            return(ret);
        }
예제 #6
0
        public NegotiationInfo GetNegotiationByCode(string code)
        {
            NegotiationInfo      record        = new NegotiationInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                record = NegotiationDataLayer.GetInstance().GetNegotiationByCode(connection, code);
                if (record == null)
                {
                    return(null);
                }

                record.Items = new List <ItemInfo>();
                record.Items = QuoteDataLayer.GetInstance().GetQuoteItems(connection, record.QuoteID);
                //bidPlanDetail.ListMember = BidPlanDataLayer.GetInstance().GetBidPlanMembers(connection, _ID);

                //negotiationDetail.ListMember = NegotiationDataLayer.GetInstance().GetNegotiationMembers(connection, _ID);
                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Negotiation.ToString();
                documentCriteria.PreferId  = record.QuoteID.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);
                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Negotiation.ToString();
                commentCriteria.PreferId  = record.QuoteID.ToString();
                record.ListComment        = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in record.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }

                return(record);
            }
        }
예제 #7
0
        public List <DocumentInfo> getDocument(SqlConnection connection, DocumentSeachCriteria _criteria)
        {
            var result = new List <DocumentInfo>();

            using (var command = new SqlCommand("Select * " +
                                                " from tbl_Document where  1 = 1 ", connection))
            {
                if (!string.IsNullOrEmpty(_criteria.TableName))
                {
                    command.CommandText += " and TableName = @TableName";
                    AddSqlParameter(command, "@TableName", _criteria.TableName, System.Data.SqlDbType.VarChar);
                }
                if (!string.IsNullOrEmpty(_criteria.PreferId))
                {
                    command.CommandText += " and PreferId = @PreferId";
                    AddSqlParameter(command, "@PreferId", _criteria.PreferId, System.Data.SqlDbType.Int);
                }
                command.CommandText += " order by InTime  ";
                WriteLogExecutingCommand(command);
                using (var reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        var info = new DocumentInfo();
                        info.AutoID    = GetDbReaderValue <int>(reader["AutoID"]);
                        info.TableName = GetDbReaderValue <string>(reader["TableName"]);
                        info.PreferId  = GetDbReaderValue <int>(reader["PreferId"]).ToString();
                        info.Link      = GetDbReaderValue <string>(reader["Link"]);
                        info.FileName  = GetDbReaderValue <string>(reader["FileName"]);
                        info.Length    = GetDbReaderValue <string>(reader["Length"]);
                        info.Type      = GetDbReaderValue <string>(reader["Type"]);
                        info.UserI     = GetDbReaderValue <string>(reader["UserI"]);
                        info.InTime    = GetDbReaderValue <DateTime?>(reader["InTime"]);
                        result.Add(info);
                    }
                }
                return(result);
            }
        }
예제 #8
0
        public QuoteInfo GetQuoteDetailsBycode(string code, string _userID)
        {
            QuoteInfo            record        = new QuoteInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                record = QuoteDataLayer.GetInstance().getQuoteByCode(connection, code, _userID);
                if (record == null)
                {
                    return(null);
                }

                record.ListComment = new List <CommentInfo>();

                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Quote.ToString();
                documentCriteria.PreferId  = record.QuoteID.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);

                record.Items = new List <ItemInfo>();
                record.Items = QuoteDataLayer.GetInstance().GetQuoteItems(connection, record.QuoteID);

                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Quote.ToString();
                commentCriteria.PreferId  = record.QuoteID.ToString();
                record.ListComment        = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in record.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }
            }
            return(record);
        }
예제 #9
0
        public AuditDetailInfo getAuditInfo(int _ID, string _userID)
        {
            AuditDetailInfo      record        = new AuditDetailInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                record = AuditDataLayer.GetInstance().getAudtiGeneralInfo(connection, _ID, _userID);
                if (record == null)
                {
                    return(null);
                }
                record.Quotes = getListQuoteInfos(_ID);

                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Audit.ToString();
                documentCriteria.PreferId  = _ID.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);

                record.Employees = new List <AuditEmployeeInfo>();
                record.Employees = AuditDataLayer.GetInstance().GetAuditEmployeesById(connection, record.AuditID.ToString());

                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Audit.ToString();
                commentCriteria.PreferId  = _ID.ToString();
                record.ListComment        = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in record.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }

                return(record);
            }
        }
예제 #10
0
        public AcceptanceInfo GetDetail(int id, string _userID)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();
            AcceptanceInfo       record        = new AcceptanceInfo();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                record = AcceptanceDataLayer.GetInstance().GetDetail(connection, id, _userID);
                if (record == null)
                {
                    return(null);
                }
                record.ListComment = new List <CommentInfo>();

                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Acceptance.ToString();
                documentCriteria.PreferId  = id.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);

                record.Items = new List <DeliveryReceiptItemInfoNew>();
                record.Items = DeliveryReceiptDataLayer.GetInstance().getSelectedItems(connection, record.DeliveryReceiptID, _userID);
                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Acceptance.ToString();
                commentCriteria.PreferId  = id.ToString();
                record.ListComment        = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in record.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }
            }
            return(record);
        }
예제 #11
0
        public DecisionInfo GetDecision(int _ID, string _userID)
        {
            DecisionInfo         record        = new DecisionInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                record = DecisionDataLayer.GetInstance().getDecision(connection, _ID, _userID);
                if (record == null)
                {
                    return(null);
                }

                record.Items           = new List <ItemInfo>();
                record.Items           = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection, record.QuoteID);
                record.DepartmentNames = DepartmentDataLayer.GetInstance().GetDepartmentNamesFromQuote(connection, record.QuoteID);

                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Decision.ToString();
                documentCriteria.PreferId  = _ID.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);
                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Decision.ToString();
                commentCriteria.PreferId  = _ID.ToString();
                record.ListComment        = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in record.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }
            }
            return(record);
        }
예제 #12
0
        public ExplanationDetailInfo getDetailExplanation(int _ID, string _userID)
        {
            ExplanationDetailInfo record        = new ExplanationDetailInfo();
            SqlConnectionFactory  sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                record = ExplanationDataLayer.GetInstance().getExplanationDetail(connection, _ID, _userID);
                if (record == null)
                {
                    return(null);
                }

                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Explanation.ToString();
                documentCriteria.PreferId  = _ID.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);

                record.Items = new List <ItemPropsalInfo>();
                record.Items = ProposalDataLayer.GetInstance().GetPropsalItems(connection, record.ProposalID);

                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Explanation.ToString();
                commentCriteria.PreferId  = _ID.ToString();
                record.ListComment        = CommentService.GetInstance().getComment(commentCriteria);
                foreach (var item in record.ListComment)
                {
                    DocumentSeachCriteria documentCriteria2 = new DocumentSeachCriteria();
                    documentCriteria2.TableName = TableFile.Comment.ToString();
                    documentCriteria2.PreferId  = item.AutoID.ToString();
                    item.ListDocument           = DocumentService.GetInstance().GetDocument(documentCriteria2);
                }
                return(record);
            }
        }
예제 #13
0
        public void DeleteDocumentsNotExitsInList(List <DocumentInfo> listDocument, string tableName, int preferId)
        {
            DocumentSeachCriteria _cri = new DocumentSeachCriteria();

            _cri.TableName = tableName;
            _cri.PreferId  = preferId.ToString();
            List <DocumentInfo> currentDocument = GetDocument(_cri);
            List <DocumentInfo> listDelete      = new List <DocumentInfo>();

            if (listDocument == null)
            {
                listDelete = currentDocument;
            }
            else
            {
                listDelete = currentDocument.Where(el2 => !listDocument.Any(el1 => el1.AutoID == el2.AutoID)).ToList();
            }

            //delete data in tables
            if (listDelete.Count > 0)
            {
                string        deleteIds = "";
                List <string> filesName = new List <string>();
                foreach (DocumentInfo document in listDelete)
                {
                    deleteIds += document.AutoID + ",";
                }
                deleteIds = deleteIds.Remove(deleteIds.Length - 1);
                SqlConnectionFactory sqlConnection = new SqlConnectionFactory();
                using (SqlConnection connection = sqlConnection.GetConnection())
                {
                    DocumentDataLayer.GetInstance().DeleteDocuments(connection, deleteIds);
                }
                //delete file physical
                FilesHelpers.DeleteFiles(tableName, preferId.ToString(), filesName);
            }
        }