コード例 #1
0
        public void Recalculate(DateTime StartDate)
        {
            DocumentsLogic            documents    = new DocumentsLogic(manager);
            DocumentDetailsLogic      detailsLogic = new DocumentDetailsLogic(manager);
            List <WareDocumentDetail> details      = detailsLogic.GetAll(StartDate);

            foreach (WareDocumentDetail detail in details)
            {
                if (detail.WareDocument.FromStructureObjectID != null)
                {
                    this.UpdateCurrentRemainByDocumentDetail(StartDate, detail.WareID, detail.WareDocument.FromStructureObjectID, null);
                }
                if (detail.WareDocument.ToStructureObjectD != null)
                {
                    this.UpdateCurrentRemainByDocumentDetail(StartDate, detail.WareID, detail.WareDocument.ToStructureObjectD, null);
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// Конструктор форми створення і редагування документу
        /// </summary>
        /// <param name="_mode">режим - new або edit</param>
        /// <param name="_id">ыдентифыкатор документу для режиму редагування</param>
        /// <param name="_CashRegister">підключений принтер чеків(якщо немає то null)</param>
        public DocumentData(string _mode, int?_id, CashRegister _CashRegister)
        {
            InitializeComponent();
            cashRegister = _CashRegister;
            CompasLogger.Add(String.Format("Start opening doc form"), CompasLogger.Level.Info);
            manager = new ContextManager();
            mode    = _mode;

            id = _id;
            DetailsGV.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
            FillPayments();
            documentDetailsNew     = new List <WareDocumentDetail>();
            documentDetailsOld     = new List <WareDocumentDetail>();
            documentDetailsDeleted = new List <WareDocumentDetail>();
            employeesDetailsView   = new List <StaffEmployeeView>();
            documentsLogic         = new DocumentsLogic(manager);
            documentDetailsLogic   = new DocumentDetailsLogic(manager);
            if (mode == "new")
            {
                //створюємо документ в памяті
                document = documentsLogic.CreateEmpty();
            }

            if (mode == "edit")
            {
                //витягуємо документ в память
                document = documentsLogic.Get(Convert.ToInt32(id));
                //витягуємо детальну інформацію по документу
                documentDetailsOld  = documentDetailsLogic.GetAll(id);
                documentDetailsView = documentDetailsOld;
                FillEmployeeDetails();
            }
            CompasLogger.Add(String.Format("p1"), CompasLogger.Level.Info);
            Fill();

            CompasLogger.Add(String.Format("End opening doc form"), CompasLogger.Level.Info);
        }
コード例 #3
0
ファイル: DocumentData.cs プロジェクト: rymarrv/Compas
        /// <summary>
        /// Конструктор форми створення і редагування документу
        /// </summary>
        /// <param name="_mode">режим - new або edit</param>
        /// <param name="_id">ыдентифыкатор документу для режиму редагування</param>
        /// <param name="_CashRegister">підключений принтер чеків(якщо немає то null)</param>
        public DocumentData(string _mode, int? _id, CashRegister _CashRegister)
        {
            InitializeComponent();
            cashRegister = _CashRegister;
            CompasLogger.Add(String.Format("Start opening doc form"), CompasLogger.Level.Info);
            manager = new ContextManager();
            mode = _mode;

            id = _id;
            DetailsGV.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;
            FillPayments();
            documentDetailsNew = new List<WareDocumentDetail>();
            documentDetailsOld = new List<WareDocumentDetail>();
            documentDetailsDeleted = new List<WareDocumentDetail>();
            employeesDetailsView = new List<StaffEmployeeView>();
            documentsLogic = new DocumentsLogic(manager);
            documentDetailsLogic = new DocumentDetailsLogic(manager);
            if (mode == "new")
            {
                //створюємо документ в памяті
                document = documentsLogic.CreateEmpty();
            }

            if (mode == "edit")
            {
                //витягуємо документ в память
                document = documentsLogic.Get(Convert.ToInt32(id));
                //витягуємо детальну інформацію по документу
                documentDetailsOld = documentDetailsLogic.GetAll(id);
                documentDetailsView = documentDetailsOld;
                FillEmployeeDetails();

            }
            CompasLogger.Add(String.Format("p1"), CompasLogger.Level.Info);
            Fill();

            CompasLogger.Add(String.Format("End opening doc form"), CompasLogger.Level.Info);
        }
コード例 #4
0
ファイル: DocumentData.cs プロジェクト: rymarrv/Compas
        /// <summary>
        /// Заповнюємо перелік позицій документу
        /// </summary>
        private void FillDetails()
        {
            CompasLogger.Add(String.Format("FillDetails1"), CompasLogger.Level.Info);
            int? selectedIndex = null;
            if (DetailsGV.SelectedRows.Count > 0)
            {
                selectedIndex = DetailsGV.SelectedRows[0].Index;
            }

            DocumentDetailsLogic detailsLogic = new DocumentDetailsLogic(manager);

            //documentDetailsView = documentDetailsNew;
            if (mode == "edit")
            {
                if (documentDetailsView.Count == 0)
                {
                    documentDetailsView = detailsLogic.GetAll(id);
                }

            }
            if ((mode == "new") & (documentDetailsView == null))
                documentDetailsView = new List<WareDocumentDetail>();

            if (selectedIndex != null)
                DetailsGV.Rows[Convert.ToInt32(selectedIndex)].Selected = true;

            CompasLogger.Add(String.Format("FillDetails2"), CompasLogger.Level.Info);
            //foreach (WareDocumentDetail a in documentDetailsNew)
            //{
            //    documentDetailsView.Add(a);
            //}
            //documentDetailsNew.Clear();

            //конвертуємо в список для перегляду і підраховуємо загальну суму документу
            //if (documentDetailsViewer == null)
            documentDetailsViewer = new List<DocumentDetailView>();
            documentSum = 0;
            decimal documentDuration = 0;
            WareTimeLimitsLogic timeLimitsLogic = new WareTimeLimitsLogic(manager);
            if (documentDetailsView.Count > 0)
            {
                foreach (WareDocumentDetail detail in documentDetailsView.OrderBy(a => a.ID))
                {
                    //if(documentDetailsViewer.Contains(
                    DocumentDetailView detailView = new DocumentDetailView(detail, manager);

                    documentDetailsViewer.Add(detailView);
                    documentSum = documentSum + Convert.ToDecimal(detail.EndPrice);

                    WareTimeLimit timeLimit = timeLimitsLogic.GetByWareID(detail.WareID);
                    if (timeLimit != null)
                    {
                        documentDuration = documentDuration + timeLimit.TimeLimit;
                    }

                }
            }

            CompasLogger.Add(String.Format("FillDetails3"), CompasLogger.Level.Info);
            DurationL.Text = documentDuration.ToString("n2");
            DocumentSumaL.Text = documentSum.ToString("n2");
            DetailsGV.AutoGenerateColumns = false;
            DetailsGV.DataSource = documentDetailsViewer;
            if (DetailsGV.Rows.Count == 0)
            {
                if(DetailsGV.SelectedRows.Count >0)
                    DetailsGV.SelectedRows[0].Selected = false;
            }
            //DetailsGV.Update();
            CompasLogger.Add(String.Format("FillDetails4"), CompasLogger.Level.Info);
        }
コード例 #5
0
        /// <summary>
        /// Заповнюємо перелік позицій документу
        /// </summary>
        private void FillDetails()
        {
            CompasLogger.Add(String.Format("FillDetails1"), CompasLogger.Level.Info);
            int?selectedIndex = null;

            if (DetailsGV.SelectedRows.Count > 0)
            {
                selectedIndex = DetailsGV.SelectedRows[0].Index;
            }

            DocumentDetailsLogic detailsLogic = new DocumentDetailsLogic(manager);

            //documentDetailsView = documentDetailsNew;
            if (mode == "edit")
            {
                if (documentDetailsView.Count == 0)
                {
                    documentDetailsView = detailsLogic.GetAll(id);
                }
            }
            if ((mode == "new") & (documentDetailsView == null))
            {
                documentDetailsView = new List <WareDocumentDetail>();
            }

            if (selectedIndex != null)
            {
                DetailsGV.Rows[Convert.ToInt32(selectedIndex)].Selected = true;
            }

            CompasLogger.Add(String.Format("FillDetails2"), CompasLogger.Level.Info);
            //foreach (WareDocumentDetail a in documentDetailsNew)
            //{
            //    documentDetailsView.Add(a);
            //}
            //documentDetailsNew.Clear();

            //конвертуємо в список для перегляду і підраховуємо загальну суму документу
            //if (documentDetailsViewer == null)
            documentDetailsViewer = new List <DocumentDetailView>();
            documentSum           = 0;
            decimal             documentDuration = 0;
            WareTimeLimitsLogic timeLimitsLogic  = new WareTimeLimitsLogic(manager);

            if (documentDetailsView.Count > 0)
            {
                foreach (WareDocumentDetail detail in documentDetailsView.OrderBy(a => a.ID))
                {
                    //if(documentDetailsViewer.Contains(
                    DocumentDetailView detailView = new DocumentDetailView(detail, manager);

                    documentDetailsViewer.Add(detailView);
                    documentSum = documentSum + Convert.ToDecimal(detail.EndPrice);

                    WareTimeLimit timeLimit = timeLimitsLogic.GetByWareID(detail.WareID);
                    if (timeLimit != null)
                    {
                        documentDuration = documentDuration + timeLimit.TimeLimit;
                    }
                }
            }

            CompasLogger.Add(String.Format("FillDetails3"), CompasLogger.Level.Info);
            DurationL.Text                = documentDuration.ToString("n2");
            DocumentSumaL.Text            = documentSum.ToString("n2");
            DetailsGV.AutoGenerateColumns = false;
            DetailsGV.DataSource          = documentDetailsViewer;
            if (DetailsGV.Rows.Count == 0)
            {
                if (DetailsGV.SelectedRows.Count > 0)
                {
                    DetailsGV.SelectedRows[0].Selected = false;
                }
            }
            //DetailsGV.Update();
            CompasLogger.Add(String.Format("FillDetails4"), CompasLogger.Level.Info);
        }