Beispiel #1
0
        public ActionMessage createDecision(DecisionInfo _Decision, string _userI, string _userID)
        {
            ActionMessage        ret           = new ActionMessage();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                try
                {
                    var quoteInfo = QuoteDataLayer.GetInstance().getQuoteByCode(connection, _Decision.QuoteCode, _userID);
                    if (quoteInfo != null)
                    {
                        _Decision.QuoteID = quoteInfo.QuoteID;
                    }
                    else
                    {
                        _Decision.QuoteID /* = _Decision.ProposalID*/ = 0;
                    }
                    ret.id        = DecisionDataLayer.GetInstance().InsertDecision(connection, _Decision, _userI);
                    ret.isSuccess = true;
                }
                catch (Exception ex)
                {
                    ret.isSuccess     = false;
                    ret.err.msgCode   = "Internal Error";
                    ret.err.msgString = ex.Message;
                }
            }
            return(ret);
        }
Beispiel #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);
            }
        }
Beispiel #3
0
        public ProposalDetailWithContactItemsInfo GetProposalWithContactItemsByCode(string code, string _userID)
        {
            ProposalDetailBase   proposalDetail = new ProposalDetailBase();
            SqlConnectionFactory sqlConnection  = new SqlConnectionFactory();
            ProposalDetailWithContactItemsInfo ret;

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                proposalDetail = ProposalDataLayer.GetInstance().getProposalDetailByCode(connection, code, _userID);
                if (proposalDetail == null)
                {
                    return(null);
                }
                ret = new ProposalDetailWithContactItemsInfo(proposalDetail);

                int       QuoteID = ProposalDataLayer.GetInstance().getQuoteIDWithHaveFinalContact(connection, proposalDetail.ProposalID);
                QuoteInfo quote   = QuoteDataLayer.GetInstance().getQuote(connection, QuoteID, _userID);
                if (quote.TotalCost > 30000000)
                {
                    ret.DeliveryReceiptType = 2;
                }
                else
                {
                    ret.DeliveryReceiptType = 1;
                }


                ret.Items = new List <ItemInfo>();
                ret.Items = QuoteDataLayer.GetInstance().GetQuoteItems(connection, QuoteID);
            }
            return(ret);
        }
Beispiel #4
0
        public ActionMessage Delete(int id, string _userID)
        {
            ActionMessage ret = new ActionMessage();

            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                try
                {
                    //delete attach files and DB of attach files
                    DocumentService.GetInstance().DeleteDocumentByFeature(TableFile.Quote.ToString(), id);


                    //delete commet
                    CommentSeachCriteria _criteria = new CommentSeachCriteria();
                    _criteria.TableName = TableFile.Quote.ToString();
                    _criteria.PreferId  = id.ToString();
                    CommentDataLayer.GetInstance().DeleteComment(connection, _criteria);
                    QuoteService.GetInstance().deleteProcess(connection, "Quote", id.ToString(), _userID);

                    QuoteDataLayer.GetInstance().DeleteQuoteItemsByQuotesID(connection, id.ToString());
                    //delete record
                    QuoteDataLayer.GetInstance().Delete(connection, id);
                    ret.isSuccess = true;
                }
                catch (Exception ex)
                {
                    ret.isSuccess     = false;
                    ret.err.msgCode   = "Internal Error";
                    ret.err.msgString = ex.ToString();
                }
            }
            return(ret);
        }
Beispiel #5
0
        public ContractPrintModel GetNegotiationPrintModel(int contractID, string _userID)
        {
            ContractPrintModel   record        = new ContractPrintModel();
            NegotiationInfo      info          = new NegotiationInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();
            NewContractInfo      contractInfo  = getContractNew(contractID, _userID);

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                info = NegotiationDataLayer.GetInstance().getNegotiation(connection, contractInfo.NegotiationID, _userID);
                if (record == null || info == null)
                {
                    return(null);
                }

                CustomerInfo cusInfo = CustomerDataLayer.GetInstance().getCustomer(connection, info.CustomerID);

                record.ContractCode = contractInfo.ContractCode;
                record.DateIn       = contractInfo.DateIn;
                record.ASide        = "BỆNH VIỆN TRUYỀN MÁU HUYẾT HỌC";
                record.BSide        = info.CustomerName;

                record.ALocation  = info.Location;
                record.APhone     = info.Phone;
                record.AFax       = info.Fax;
                record.ABankID    = info.BankID;
                record.ATaxCode   = info.TaxCode;
                record.ARepresent = info.Represent;
                record.APosition  = info.Position;

                record.BLocation       = cusInfo.Address;
                record.BPhone          = cusInfo.Phone;
                record.BFax            = cusInfo.Fax;
                record.BBankID         = cusInfo.BankNumber + " " + cusInfo.BankName;
                record.BTaxCode        = cusInfo.TaxCode;
                record.BRepresent      = cusInfo.Surrogate;
                record.BPosition       = cusInfo.Position;
                record.NegotiationTime = info.DateIn;
                record.Term            = info.Term;
                record.NegotiationCode = info.NegotiationCode;
                record.VATNumber       = info.VATNumber;
                record.IsVAT           = info.IsVAT;
                record.QuoteTotalCost  = info.QuoteTotalCost;
                record.Items           = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection,
                                                                                            record.QuoteID);
                record.QuoteID   = info.QuoteID;
                record.QuoteCode = info.QuoteCode;


                record.BidType          = info.BidType;
                record.BidExpirated     = info.BidExpirated;
                record.BidExpiratedUnit = info.BidExpiratedUnit;

                record.Items = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection,
                                                                                  record.QuoteID);

                return(record);
            }
        }
Beispiel #6
0
        public int getTotalRecords(QuoteSeachCriteria _criteria, string _userID)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                return(QuoteDataLayer.GetInstance().getTotalRecords(connection, _criteria, _userID));
            }
        }
Beispiel #7
0
        public List <QuoteInfo> getAllQuote(int pageSize, int pageIndex, QuoteSeachCriteria _criteria, string _userID)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                return(QuoteDataLayer.GetInstance().GetListQuote(connection, _criteria, _userID));
            }
        }
Beispiel #8
0
        public List <QuoteInfo> getQuote(QuoteSeachCriteria _criteria, string _userID)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                List <QuoteInfo> ListQuote = QuoteDataLayer.GetInstance().GetListQuote(connection, _criteria, _userID);
                return(ListQuote);
            }
        }
Beispiel #9
0
        public List <SelectItem> getListquoteCodeCanCreateContract(string quoteCode)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                List <SelectItem> ListQuote = QuoteDataLayer.GetInstance().getListquoteCodeCanCreateContract(connection, quoteCode);
                return(ListQuote);
            }
        }
Beispiel #10
0
        public List <int> getExitsQuoteProposal(QuoteCreateRequest obj, string _userI)
        {
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                List <int> ListQuote = QuoteDataLayer.GetInstance().getExitsQuoteProposal(connection, obj.ProposalList, obj.CustomerList, _userI);
                return(ListQuote);
            }
        }
Beispiel #11
0
        public async Task <ActionMessage> editBidPlan(int id, BidPlanInfo _BidPlan, string _userU, IList <IFormFile> files, string _userID)
        {
            ActionMessage        ret           = new ActionMessage();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                var chkBidPlanInfo = BidPlanDataLayer.GetInstance().getBidPlan(connection, id, _userID);
                if (chkBidPlanInfo != null)
                {
                    try
                    {
                        QuoteInfo quoteInfo = QuoteDataLayer.GetInstance().getQuote(connection, _BidPlan.QuoteID, _userID);
                        if (quoteInfo != null)
                        {
                            _BidPlan.QuoteID = quoteInfo.QuoteID;

                            //var ProposalInfo = ProposalDataLayer.GetInstance().getProposalDetail(connection, _BidPlan.ProposalID);
                            //if (ProposalInfo != null)
                            //{
                            //    _BidPlan.ProposalCode = ProposalInfo.ProposalCode;
                            //}
                        }
                        else
                        {
                            _BidPlan.QuoteID /*= _BidPlan.ProposalID*/ = 0;
                        }
                        BidPlanDataLayer.GetInstance().UpdateBidPlan(connection, id, _BidPlan, _userU);
                    }
                    catch (Exception ex)
                    {
                        throw ex;
                    }
                }
                DocumentService.GetInstance().DeleteDocumentsNotExitsInList(_BidPlan.ListDocument, TableFile.BidPlan.ToString(), _BidPlan.BidPlanID);

                foreach (var item in files)
                {
                    DocumentInfo documentInfo = new DocumentInfo();
                    documentInfo.TableName = TableFile.BidPlan.ToString();
                    documentInfo.PreferId  = _BidPlan.BidPlanID.ToString();
                    documentInfo.Link      = DateTime.Now.ToString("yyMMddHHmmssfff") + "-" + Utils.ChuyenTVKhongDau(item.FileName);
                    documentInfo.FileName  = item.FileName;
                    documentInfo.Length    = item.Length.ToString();
                    documentInfo.Type      = item.ContentType;
                    ret = await FilesHelpers.UploadFile(TableFile.BidPlan.ToString(), _BidPlan.BidPlanID.ToString(), item, documentInfo.Link);

                    DocumentService.GetInstance().InsertDocument(documentInfo, _userU);
                }
                ret.isSuccess = true;


                return(ret);
            }
        }
Beispiel #12
0
        public List <searchProposalItemRespone> searchQuoteItem(string text)
        {
            List <searchProposalItemRespone> ret           = new List <searchProposalItemRespone>();
            SqlConnectionFactory             sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                ret = QuoteDataLayer.GetInstance().searchQuoteItem(connection, text);
            }
            return(ret);
        }
Beispiel #13
0
        public List <ItemInfo> getItemsQuote(int QuoteID, int CustomerID)
        {
            List <ItemInfo>      ret           = new List <ItemInfo>();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                ret = QuoteDataLayer.GetInstance().GetQuoteItems(connection, QuoteID, CustomerID);
            }
            return(ret);
        }
Beispiel #14
0
        public List <searchQuoteRespone> searchQuoteCanCreateAudit(string text)
        {
            List <searchQuoteRespone> ret           = new List <searchQuoteRespone>();
            SqlConnectionFactory      sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                ret = QuoteDataLayer.GetInstance().searchQuoteCanCreateAudit(connection, text);
            }
            return(ret);
        }
Beispiel #15
0
        public ActionMessage selectQuote(int QuoteID, int customerID)
        {
            ActionMessage        ret           = new ActionMessage();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                QuoteDataLayer.GetInstance().chooseQuote(connection, QuoteID, customerID);
                ret.isSuccess = true;
            }
            return(ret);
        }
Beispiel #16
0
        public ActionMessage updateQuoteNew(int QuoteID, QuoteUpdateRequest data)
        {
            ActionMessage        ret           = new ActionMessage();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                QuoteDataLayer.GetInstance().updateQuoteNew(connection, QuoteID, data);
                ret.isSuccess = true;
            }
            return(ret);
        }
Beispiel #17
0
        public SelectedQuoteInfo getSelectedItemsQuote(int QuoteID, string _userID)
        {
            SelectedQuoteInfo    ret           = new SelectedQuoteInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                ret       = QuoteDataLayer.GetInstance().getQuoteInfo(connection, QuoteID, _userID);
                ret.items = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection, QuoteID);
            }
            return(ret);
        }
Beispiel #18
0
        public async Task <ActionMessage> createBidPlan2(BidPlanInfo _BidPlan, string _userI, IList <IFormFile> files, string _userID)
        {
            ActionMessage        ret           = new ActionMessage();
            int                  insetId       = -1;
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                try
                {
                    QuoteInfo quoteInfo = QuoteDataLayer.GetInstance().getQuote(connection, _BidPlan.QuoteID, _userID);
                    if (quoteInfo != null)
                    {
                        _BidPlan.QuoteID = quoteInfo.QuoteID;
                    }
                    else
                    {
                        _BidPlan.QuoteID /*= _BidPlan.ProposalID*/ = 0;
                    }
                    insetId = BidPlanDataLayer.GetInstance().InsertBidPlan(connection, _BidPlan, _userI);
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                if (insetId > -1)
                {
                    ret.id = insetId;
                    foreach (var item in files)
                    {
                        DocumentInfo documentInfo = new DocumentInfo();
                        documentInfo.TableName = TableFile.BidPlan.ToString();
                        documentInfo.PreferId  = insetId.ToString();
                        documentInfo.Link      = DateTime.Now.ToString("yyMMddHHmmssfff") + "-" + Utils.ChuyenTVKhongDau(item.FileName);
                        documentInfo.FileName  = item.FileName;
                        documentInfo.Length    = item.Length.ToString();
                        documentInfo.Type      = item.ContentType;
                        ret = await FilesHelpers.UploadFile(TableFile.BidPlan.ToString(), insetId.ToString(), item, documentInfo.Link);

                        DocumentService.GetInstance().InsertDocument(documentInfo, _userI.ToString());
                    }
                    ret.isSuccess = true;
                }
                else
                {
                    ret.isSuccess     = false;
                    ret.err.msgCode   = "lỗi thêm biên bản họp giá";
                    ret.err.msgString = "lỗi thêm biên bản họp giá";
                }
                return(ret);
            }
        }
Beispiel #19
0
        public DRFillDetailInfo getDetailsAcceptanceByProposalID(int id)
        {
            DRFillDetailInfo     proposalDetail = new DRFillDetailInfo();
            SqlConnectionFactory sqlConnection  = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                proposalDetail       = ProposalDataLayer.GetInstance().getDetailsForDR(connection, id);
                proposalDetail.Items = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection, proposalDetail.QuoteID);
                proposalDetail.DeliveryReceiptItems = DeliveryReceiptDataLayer.GetInstance().getDetailsAcceptanceByProposalID(connection, id);

                return(proposalDetail);
            }
        }
Beispiel #20
0
        public ActionMessage CreateQuoteWithMutilProposal(QuoteCreateRequest QuoteObj, string _userI)
        {
            ActionMessage        ret           = new ActionMessage();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                try
                {
                    int quoteId = 0;

                    quoteId = QuoteDataLayer.GetInstance().InsertQuoteWithOutDetails(connection, _userI);
                    int i = 0;
                    foreach (int customerID in QuoteObj.CustomerList)
                    {
                        if (QuoteObj.CustomerList.Length == 1)
                        {
                            QuoteDataLayer.GetInstance().InsertQuoteCustomer(connection, quoteId, customerID, true);
                        }
                        else
                        {
                            if (i == 0)
                            {
                                QuoteDataLayer.GetInstance().InsertQuoteCustomer(connection, quoteId, customerID, true);
                            }
                            else
                            {
                                QuoteDataLayer.GetInstance().InsertQuoteCustomer(connection, quoteId, customerID, false);
                            }
                        }
                        i++;
                    }
                    foreach (int proposalId in QuoteObj.ProposalList)
                    {
                        QuoteDataLayer.GetInstance().InsertQuoteProposal(connection, quoteId, proposalId);
                    }
                    ret.isSuccess = true;
                }
                catch (Exception ex)
                {
                    ret.isSuccess     = false;
                    ret.err.msgCode   = "Internal Error";
                    ret.err.msgString = ex.Message;
                }
            }
            return(ret);
        }
Beispiel #21
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);
            }
        }
Beispiel #22
0
        public List <QuoteAuditInfo> getListQuoteInfos(int auditID)
        {
            List <QuoteAuditInfo> ret           = new List <QuoteAuditInfo>();
            SqlConnectionFactory  sqlConnection = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                List <int> QuoteIDs = AuditDataLayer.GetInstance().getQuoteOfAudit(connection, auditID);

                foreach (int quoteID in QuoteIDs)
                {
                    QuoteAuditInfo temp = QuoteDataLayer.GetInstance().GetChoosedQuoteDetails(connection, quoteID);
                    temp.ProposalCodes = QuoteDataLayer.GetInstance().GetListProsalCode(connection, quoteID);
                    temp.Items         = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection, quoteID);
                    ret.Add(temp);
                }
            }
            return(ret);
        }
Beispiel #23
0
        public DRFillDetailInfo getDetailsForDR(int id)
        {
            DRFillDetailInfo     proposalDetail = new DRFillDetailInfo();
            SqlConnectionFactory sqlConnection  = new SqlConnectionFactory();

            using (SqlConnection connection = sqlConnection.GetConnection())
            {
                proposalDetail       = ProposalDataLayer.GetInstance().getDetailsForDR(connection, id);
                proposalDetail.Items = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection, proposalDetail.QuoteID);

                string IDs = "( ";
                foreach (var item in proposalDetail.Items)
                {
                    IDs += item.QuoteItemID.ToString() + " ,";
                }

                IDs  = IDs.Remove(IDs.Length - 1);
                IDs += " )";
                List <DeliveryReceiptItemInfoNew> deliveryReceiptItems = DeliveryReceiptDataLayer.GetInstance().getItemsByQuoteIDs(connection, IDs);

                foreach (var DRitem in deliveryReceiptItems)
                {
                    for (int i = 0; i < proposalDetail.Items.Count;)
                    {
                        if (DRitem.QuoteItemID == proposalDetail.Items[i].QuoteItemID)
                        {
                            proposalDetail.Items[i].Amount = proposalDetail.Items[i].Amount - DRitem.Amount;
                        }
                        if (proposalDetail.Items[i].Amount > 0)
                        {
                            i++;
                        }
                        else
                        {
                            proposalDetail.Items.RemoveAt(i);
                        }
                    }
                }

                //todo
                return(proposalDetail);
            }
        }
Beispiel #24
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);
            }
        }
Beispiel #25
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);
        }
Beispiel #26
0
        public NegotiationInfo GetNegotiation(int _ID, string _userID)
        {
            NegotiationInfo      record        = new NegotiationInfo();
            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

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

                record.Items = QuoteDataLayer.GetInstance().getSelectedItemsQuote(connection,
                                                                                  record.QuoteID);

                //Get document
                DocumentSeachCriteria documentCriteria = new DocumentSeachCriteria();
                documentCriteria.TableName = TableFile.Negotiation.ToString();
                documentCriteria.PreferId  = _ID.ToString();
                record.ListDocument        = DocumentService.GetInstance().GetDocument(documentCriteria);
                //get Comment
                CommentSeachCriteria commentCriteria = new CommentSeachCriteria();
                commentCriteria.TableName = TableFile.Negotiation.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);
            }
        }
Beispiel #27
0
        public async Task <ActionMessage> importData(IFormFile file, int quoteID, int customerID)
        {
            ActionMessage ret = new ActionMessage();

            SqlConnectionFactory sqlConnection = new SqlConnectionFactory();

            try
            {
                string fileExtension = Path.GetExtension(file.FileName);

                if (fileExtension == ".xls" || fileExtension == ".xlsx")
                {
                    // var rootFolder = @"D:\Files";
                    var rootFolder   = Utils.getRootFolder();
                    var imageFolder  = rootFolder + Utils.uploadFolder();
                    var fileName     = DateTime.Now.ToString("yyyyMMddHHmmss");
                    var filePath     = Path.Combine(rootFolder, fileName);
                    var fileLocation = new FileInfo(filePath);



                    using (var fileStream = new FileStream(filePath, FileMode.Create))
                    {
                        await file.CopyToAsync(fileStream);
                    }


                    using (ExcelPackage package = new ExcelPackage(fileLocation))
                    {
                        ExcelWorksheet workSheet = package.Workbook.Worksheets["baogia"];
                        if (workSheet == null)
                        {
                            workSheet = package.Workbook.Worksheets.First();
                        }

                        int totalRows = workSheet.Dimension.Rows;

                        if (totalRows < 2)
                        {
                            ret.err.msgString = "Không có dữ liệu";
                            return(ret);
                        }
                        using (SqlConnection connection = sqlConnection.GetConnection())
                        {
                            QuoteDataLayer.GetInstance().deleteQuoteItem(connection, quoteID, customerID);
                        }


                        for (int i = 2; i <= totalRows; i++)
                        {
                            if (workSheet.Cells[i, 1].Value.ToString().Trim() == "")
                            {
                                break;
                            }

                            string itemName        = workSheet.Cells[i, 1].Value.ToString().Trim();
                            string itemDescription = "";
                            if (workSheet.Cells[i, 2].Value != null)
                            {
                                itemDescription = workSheet.Cells[i, 2].Value.ToString().Trim();
                            }
                            string itemUnit       = workSheet.Cells[i, 3].Value.ToString().Trim();
                            string itemAmount     = workSheet.Cells[i, 4].Value.ToString().Trim();
                            string itemPrice      = workSheet.Cells[i, 5].Value.ToString().Trim();
                            string itemTotalPrice = workSheet.Cells[i, 6].Value.ToString().Trim();

                            using (SqlConnection connection = sqlConnection.GetConnection())
                            {
                                QuoteDataLayer.GetInstance().insertQuoteItem(connection,
                                                                             itemName, itemDescription, itemUnit
                                                                             , itemPrice, itemAmount, itemTotalPrice, quoteID, customerID);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                ret.err.msgString = ex.Message;
            }

            return(ret);
        }