Пример #1
0
        public void StatusEngineConstructorDoesNotThrowWhenValidArgumentsAreProvided()
        {
            var logger = new MockLogger();
            var db     = new SQLServerClientDatabase(TestConnectionString, new MockLogger(), SharedMockedCoreSettings);

            var engine = new StatusEngine(db, logger, 0, SharedMockedCoreSettings);

            Assert.IsNotNull(engine);
        }
Пример #2
0
        public void StatusEngineCanStartAndStop()
        {
            var logger = new MockLogger();
            var db     = new SQLServerClientDatabase(TestConnectionString, new MockLogger(), SharedMockedCoreSettings);

            var engine = new StatusEngine(db, logger, 0, SharedMockedCoreSettings);

            engine.BeginStart();
            engine.BeginStop();
        }
Пример #3
0
        public void StatusEngineTriggersStoppedEventWhenEngineHasStopped()
        {
            var logger = new MockLogger();
            var db     = new SQLServerClientDatabase(TestConnectionString, new MockLogger(), SharedMockedCoreSettings);

            var engine = new StatusEngine(db, logger, 0, SharedMockedCoreSettings);

            var signalStoppedEvent = new AutoResetEvent(false);

            engine.Stopped += (s, e) => { signalStoppedEvent.Set(); };
            engine.BeginStart();
            engine.BeginStop();

            var engineStoppedSignaled = signalStoppedEvent.WaitOne(TimeSpan.FromSeconds(5));

            Assert.IsTrue(engineStoppedSignaled);
        }
Пример #4
0
        /// <summary>
        /// Starts the status engine.
        /// </summary>
        /// <returns>True if successful, otherwise false.</returns>
        private bool StartStatusEngine()
        {
            try
            {
                StatusEngineInstance          = new StatusEngine(ClientDatabase, CoreLog, 0, CoreSettings);
                StatusEngineInstance.Stopped += Status_Stopped;
                StatusEngineInstance.BeginStart();

                CoreLog.WriteSystemEvent(
                    string.Format("Status Engine has started."),
                    EventLogEntryType.Information, ArchivialLibrary.Constants.EventIDs.StartedStatusEngine, true);

                return(true);
            }
            catch (Exception ex)
            {
                var message = "Failed to start the status engine.";
                var context = CoreLog.GenerateFullContextStackTrace();
                CoreLog.WriteSystemEvent(message, ex, context, ArchivialLibrary.Constants.EventIDs.FailedStatusEngine, true);
                return(false);
            }
        }
Пример #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Utility.BindDataToDropdown(ddlEnqOrdMan, Utility.GetUserList2(true));
                Utility.BindDataToDropdown(ddlRefMan, Utility.GetUserList2(true));

                if (!string.IsNullOrEmpty(SourceType) && !string.IsNullOrEmpty(SourceNo))
                {
                    //link
                    if (string.Equals(SourceType, SysConst.SourceTypeEnquiry, StringComparison.OrdinalIgnoreCase))
                    {
                        EnquiryDAL eDAL = new EnquiryDAL();
                        var        enq  = eDAL.GetEnquiryByNo(SourceNo);
                        lnkSource.NavigateUrl = Page.ResolveUrl(string.Format("~/enquiryform.aspx?enqno={0}&enqid={1}", SourceNo, enq.Enquiry_Id));
                    }
                    else
                    {
                        OrderDAL sDAL = new OrderDAL();
                        var      ord  = sDAL.GetOrderByNo(SourceNo);
                        lnkSource.NavigateUrl = Page.ResolveUrl(string.Format("~/orderform.aspx?ordno={0}&ordid={1}&sourcetype={2}&sourceno={3}", SourceNo, ord.Order_Id, ord.SourceType, ord.SourceNo));
                    }
                    lnkSource.Text = SourceNo;

                    RefineDAL dal    = new RefineDAL();
                    var       refine = dal.GetRefineByNo(RefNo);
                    //basic
                    txtCreatedDate.Text         = refine.CreatedDate.ToString("yyyy-MM-dd");
                    ddlEnqOrdMan.SelectedValue  = refine.EnqOrdMan;
                    ddlRefMan.SelectedValue     = refine.RefineMan;
                    txtCompletedDate.Text       = refine.RequestCompleteDate.HasValue ? refine.RequestCompleteDate.Value.ToString("yyyy-MM-dd") : string.Empty;
                    chkConfirm.Checked          = refine.NeedCustomerConfirm;
                    txtConfirmIntro.Text        = refine.CustomerConfirmIntro;
                    chkIncludeMachining.Checked = refine.IncludeMaching;
                    chkNeedApprove.Checked      = refine.NeedApprove;
                    txtRefineIntro.Text         = refine.RefineIntro;
                    //customer info
                    this.customerInfoControl.SetValue(
                        refine.CustomerCompanyName,
                        refine.CustomerContactName,
                        refine.CustomerAddress,
                        refine.CustomerEmail,
                        refine.CustomerQQ,
                        refine.CustomerPhone1,
                        refine.CustomerPhone2,
                        refine.CustomerOthers);
                    //history cad
                    UIUtility.BindUserControl(cADRefinementControl, SourceType, SourceNo);
                    //customer drawing
                    UIUtility.BindUserControl(customerDrawingControl, SourceType, SourceNo);
                    //survey
                    UIUtility.BindUserControl(surveyControl, SourceType, SourceNo);
                    //cad
                    cADFileListControl.RefineId = RefId;
                    UIUtility.BindUserControl(cADFileListControl, SourceType, SourceNo);
                    //followup
                    UIUtility.BindUserControl(followUpControl, SysConst.SourceTypeRefine, refine.Refine_No);

                    //status dropdown
                    var result = StatusEngine.GetRefineStatus(chkIncludeMachining.Checked, chkNeedApprove.Checked, chkConfirm.Checked);
                    ddlRefineStatus.Items.Clear();
                    foreach (var item in result)
                    {
                        ddlRefineStatus.Items.Add(new ListItem()
                        {
                            Text = item, Value = item
                        });
                    }
                    ddlRefineStatus.SelectedValue = refine.Status;
                }
            }
        }
Пример #6
0
 public StatusLogic()
 {
     statusEngine = new StatusEngine();
 }
Пример #7
0
        public void StatusEngineConstructorThrowsExceptionWhenNoCoreSettingsProvided()
        {
            var db = new SQLServerClientDatabase(TestConnectionString, new MockLogger(), SharedMockedCoreSettings);

            var engine = new StatusEngine(db, new MockLogger(), 0, null);
        }
Пример #8
0
 public void StatusEngineConstructorThrowsExceptionWhenNoDatabaseIsProvided()
 {
     var engine = new StatusEngine(null, new MockLogger(), 0, SharedMockedCoreSettings);
 }