public static void Process(EMailAccountSyncFilter filter, List <EMailSyncAccount> accounts, Object uid, string screenid)
        {
            //Check that process is singleton
            foreach (RowTaskInfo info in PXLongOperation.GetTaskList())
            {
                if (Object.Equals(uid, info.NativeKey))
                {
                    continue;
                }

                PXLongRunStatus status = PXLongOperation.GetStatus(info.NativeKey);
                if (status != PXLongRunStatus.InProcess)
                {
                    continue;
                }

                string company = PXLogin.ExtractCompany(info.User);
                string screen  = (info.Screen ?? String.Empty).Replace(".", "");
                if (screen == screenid && company == PXAccess.GetCompanyName())
                {
                    throw new PXException(ErrorMessages.PrevOperationNotCompleteYet);
                }
            }

            EmailsSyncMaint graph = CreateInstance <EmailsSyncMaint>();

            using (new PXUTCTimeZoneScope())
            {
                graph.ProcessInternal(new ProcessingContext(filter, accounts, graph.GetPolicies()));
            }
        }
        protected virtual void SOCreateFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            SOCreateFilter filter = Filter.Current;

            FixedDemand.SetProcessDelegate(list => SOCreateProc(list, filter.PurchDate));

            TimeSpan        span;
            Exception       message;
            PXLongRunStatus status = PXLongOperation.GetStatus(this.UID, out span, out message);

            PXUIFieldAttribute.SetVisible <SOLine.orderNbr>(Caches[typeof(SOLine)], null, (status == PXLongRunStatus.Completed || status == PXLongRunStatus.Aborted));

            if (PXAccess.FeatureInstalled <FeaturesSet.warehouse>())
            {
                INSite toxicsite = PXSelect <INSite,
                                             Where <INSite.siteID, Equal <Current <SOCreateFilter.siteID> >,
                                                    And <INSite.active, Equal <True>,
                                                         And <Where <INSite.addressID, IsNull, Or <INSite.contactID, IsNull> > > > > > .SelectSingleBound(this, new object[] { e.Row });

                if (toxicsite != null)
                {
                    throw new PXSetupNotEnteredException <INSite, INSite.siteCD>(Messages.WarehouseWithoutAddressAndContact, toxicsite.SiteCD, toxicsite.SiteCD);
                }
            }
        }
Ejemplo n.º 3
0
        public virtual IEnumerable release(PXAdapter adapter)
        {
            PXCache cache = Caches[typeof(GLVoucherBatch)];
            List <GLVoucherBatch> list = new List <GLVoucherBatch>();

            foreach (GLVoucherBatch batch in VoucherBatches.Select())
            {
                if (batch.Released != true && batch.Selected == true)
                {
                    //cache.Update(batch);
                    list.Add(batch);
                }
            }
            if (list.Count == 0)
            {
                throw new PXException(Messages.NoBatchesIsSelectedForRelease);
            }
            //Save.Press();
            if (list.Count > 0)
            {
                PXLongOperation.ClearStatus(this.UID);
                PXLongOperation.StartOperation(this, delegate() { ReleaseBatch(list); });
                TimeSpan        timespan;
                Exception       ex;
                PXLongRunStatus status = PXLongOperation.GetStatus(this.UID, out timespan, out ex);
                DisableOnProcessing(status);
                VoucherBatches.View.RequestRefresh();
            }
            return(adapter.Get());
        }
Ejemplo n.º 4
0
        protected virtual void GLVoucher_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            GLVoucher row = (GLVoucher)e.Row;

            if (e.Row == null)
            {
                return;
            }

            Dictionary <string, Dictionary <Guid, CAMessage> > listMessages = PXLongOperation.GetCustomInfo(this.UID) as Dictionary <string, Dictionary <Guid, CAMessage> >;
            PXLongRunStatus status = GetLongOperationStatus();

            if ((status == PXLongRunStatus.Aborted || status == PXLongRunStatus.Completed) && listMessages != null)
            {
                string key = row.VoucherBatchNbr;
                if (listMessages.ContainsKey(key))
                {
                    CAMessage message;
                    if (listMessages[key].TryGetValue(row.RefNoteID ?? Guid.Empty, out message))
                    {
                        sender.RaiseExceptionHandling <GLVoucher.refNbr>(row, row.RefNbr, new PXSetPropertyException <GLVoucher.refNbr>(message.Message, message.ErrorLevel));
                    }
                }
            }
        }
Ejemplo n.º 5
0
        public virtual IEnumerable delete(PXAdapter adapter)
        {
            GLVoucherBatch batch = VoucherBatches.Current;

            if (batch == null)
            {
                throw new PXException(Messages.NoBatchesForDelete);
            }
            if (VoucherBatches.Ask(PXMessages.LocalizeFormatNoPrefixNLA(Messages.BatchDeleteConfirmation, batch.VoucherBatchNbr), MessageButtons.OKCancel) == WebDialogResult.OK)
            {
                if (batch.Released == true)
                {
                    throw new PXException(Messages.BatchDeleteReleased);
                }
                List <GLVoucherBatch> fullList = new List <GLVoucherBatch>();
                foreach (GLVoucherBatch voucherBatch in VoucherBatches.Select())                //create list to show all records during processing
                {
                    fullList.Add(voucherBatch);
                }
                PXLongOperation.ClearStatus(this.UID);
                PXLongOperation.StartOperation(this, delegate() { DeleteBatch(batch, fullList.ToArray <object>()); });
                TimeSpan        timespan;
                Exception       ex;
                PXLongRunStatus status = PXLongOperation.GetStatus(this.UID, out timespan, out ex);
                DisableOnProcessing(status);
                VoucherBatches.View.RequestRefresh();
            }
            return(adapter.Get());
        }
Ejemplo n.º 6
0
        protected virtual void Filter_RowUpdated(PXCache sender, PXRowUpdatedEventArgs e)
        {
            PXLongRunStatus status = GetLongOperationStatus();

            if (status != PXLongRunStatus.InProcess)
            {
                PXLongOperation.ClearStatus(this.UID);
                VoucherBatches.Cache.Clear();
            }
        }
Ejemplo n.º 7
0
        private void DisableOnProcessing(PXLongRunStatus status)
        {
            bool noProcessing = status == PXLongRunStatus.NotExists;

            VoucherBatches.Cache.AllowUpdate = noProcessing;
            Insert.SetEnabled(noProcessing);
            Delete.SetEnabled(noProcessing);
            editRecord.SetEnabled(noProcessing);
            Release.SetEnabled(noProcessing);
        }
Ejemplo n.º 8
0
        protected virtual void SOCreateFilter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            SOCreateFilter filter = Filter.Current;

            FixedDemand.SetProcessDelegate(list => SOCreateProc(list, filter.PurchDate));

            TimeSpan        span;
            Exception       message;
            PXLongRunStatus status = PXLongOperation.GetStatus(this.UID, out span, out message);

            PXUIFieldAttribute.SetVisible <SOLine.orderNbr>(Caches[typeof(SOLine)], null, (status == PXLongRunStatus.Completed || status == PXLongRunStatus.Aborted));
        }
Ejemplo n.º 9
0
        protected virtual void GLVoucherBatch_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            GLVoucherBatch row = (GLVoucherBatch)e.Row;

            if (e.Row == null)
            {
                return;
            }

            Dictionary <string, Dictionary <Guid, CAMessage> > listMessages = PXLongOperation.GetCustomInfo(this.UID) as Dictionary <string, Dictionary <Guid, CAMessage> >;
            TimeSpan        timespan;
            Exception       ex;
            PXLongRunStatus status = PXLongOperation.GetStatus(this.UID, out timespan, out ex);

            if ((status == PXLongRunStatus.Aborted || status == PXLongRunStatus.Completed) && listMessages != null)
            {
                string key = row.VoucherBatchNbr;
                if (listMessages.ContainsKey(key))
                {
                    VouchersInBatch.View.AllowSelect = true;
                    CAMessage message;
                    if (listMessages[key].TryGetValue(Guid.Empty, out message))
                    {
                        sender.RaiseExceptionHandling <GLVoucherBatch.voucherBatchNbr>(row, row.VoucherBatchNbr, new PXSetPropertyException <GLVoucherBatch.voucherBatchNbr>(message.Message, message.ErrorLevel));
                    }
                    else
                    {
                        sender.RaiseExceptionHandling <GLVoucherBatch.voucherBatchNbr>(row, row.VoucherBatchNbr, new PXSetPropertyException <GLVoucherBatch.voucherBatchNbr>("Processed", PXErrorLevel.RowInfo));
                    }
                }
                else
                {
                    VouchersInBatch.View.AllowSelect = false;
                }
            }
            else
            {
                VouchersInBatch.View.AllowSelect = false;
                PXUIFieldAttribute.SetEnabled(sender, null, status == PXLongRunStatus.NotExists);
            }
            DisableOnProcessing(status);
            if (row != null)
            {
                PXUIFieldAttribute.SetEnabled(sender, row, false);
                PXUIFieldAttribute.SetEnabled <GLVoucherBatch.selected>(sender, row, row.Released == false);
                PXUIFieldAttribute.SetEnabled <GLVoucherBatch.descr>(sender, row, row.Released == false);
            }

            PXUIFieldAttribute.SetEnabled <GLVoucherBatch.released>(sender, null, false);
            PXUIFieldAttribute.SetEnabled <GLVoucherBatch.voucherBatchNbr>(sender, null, false);
            PXUIFieldAttribute.SetEnabled <GLVoucherBatch.docCount>(sender, null, false);
        }
 public virtual void OnWaitEnd(PXLongRunStatus status, INRegister primaryRow, Action <PXLongRunStatus, INRegister> baseImpl)
 {
     if (IsCartRequired)
     {
         Base1.OnWaitEnd(status, primaryRow?.Released == true,
                         INScanTransfer.Msg.DocumentIsReleased, null,
                         INScanTransfer.Msg.DocumentReleaseFailed, ScanStates.ToLocation);
     }
     else
     {
         baseImpl(status, primaryRow);
     }
 }
Ejemplo n.º 11
0
        protected void _(Events.RowSelected <POCreate.POCreateFilter> e)
        {
            POCreate.POCreateFilter filter = this.Base.Filter.Current;
            if (filter == null)
            {
                return;
            }
            this.Base.FixedDemand.SetProcessDelegate((PXProcessingBase <POFixedDemand> .ProcessListDelegate)(list => POCreate_Extension.CreateProc2(list, filter.PurchDate, filter.OrderNbr != null)));
            PXLongRunStatus status = PXLongOperation.GetStatus(this.Base.UID, out TimeSpan _, out Exception _);

            PXUIFieldAttribute.SetVisible <POLine.orderNbr>(this.Base.Caches[typeof(POLine)], (object)null, status == PXLongRunStatus.Completed || status == PXLongRunStatus.Aborted);
            PXUIFieldAttribute.SetVisible <POCreate.POCreateFilter.orderTotal>(e.Cache, (object)null, filter.VendorID.HasValue);
        }
 public void Complete(PXLongRunStatus status, PXGraph graph)
 {
     if (status == PXLongRunStatus.Completed && graph is ARPaymentEntry)
     {
         ((ARPaymentEntry)graph).RowSelected.AddHandler <ARPayment>((sender, e) =>
         {
             ARPayment payment = e.Row as ARPayment;
             if (payment != null && payment.Released == false && DateTime.Compare(payment.AdjDate.Value, _NewDate) != 0)
             {
                 sender.RaiseExceptionHandling <ARPayment.adjDate>(payment, payment.AdjDate, new PXSetPropertyException(Messages.ApplicationDateChanged, PXErrorLevel.Warning));
             }
         });
     }
 }
Ejemplo n.º 13
0
        protected virtual void Filter_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            PXLongRunStatus status = GetLongOperationStatus();

            bool haveRecords  = VoucherBatches.Select().Any <object>();
            bool noProcessing = status == PXLongRunStatus.NotExists;

            GLWorkBook workBook = WorkBook.Select((e.Row as Filter).WorkBookID);

            bool active = workBook?.Status == WorkBookStatus.Active;

            Insert.SetEnabled(noProcessing && active);
            Delete.SetEnabled(noProcessing && haveRecords && active);
            Release.SetEnabled(noProcessing && haveRecords && active);
            ViewDocument.SetEnabled(haveRecords);
            VoucherBatches.Cache.AllowUpdate = noProcessing && active;
        }
Ejemplo n.º 14
0
        protected virtual void GLVoucherBatch_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
        {
            GLVoucherBatch row = (GLVoucherBatch)e.Row;

            if (row == null)
            {
                return;
            }

            Dictionary <string, Dictionary <Guid, CAMessage> > listMessages = PXLongOperation.GetCustomInfo(this.UID) as Dictionary <string, Dictionary <Guid, CAMessage> >;
            PXLongRunStatus status = GetLongOperationStatus();

            if ((status == PXLongRunStatus.Aborted || status == PXLongRunStatus.Completed) && listMessages != null)
            {
                string key = row.VoucherBatchNbr;
                if (listMessages.ContainsKey(key))
                {
                    VouchersInBatch.View.AllowSelect = true;
                    CAMessage message;
                    if (listMessages[key].TryGetValue(Guid.Empty, out message))
                    {
                        sender.RaiseExceptionHandling <GLVoucherBatch.voucherBatchNbr>(row, row.VoucherBatchNbr, new PXSetPropertyException <GLVoucherBatch.voucherBatchNbr>(message.Message, message.ErrorLevel));
                    }
                    else
                    {
                        sender.RaiseExceptionHandling <GLVoucherBatch.voucherBatchNbr>(row, row.VoucherBatchNbr, new PXSetPropertyException <GLVoucherBatch.voucherBatchNbr>("Processed", PXErrorLevel.RowInfo));
                    }
                }
                else
                {
                    VouchersInBatch.View.AllowSelect = false;
                }
            }
            else
            {
                VouchersInBatch.View.AllowSelect = false;
            }

            GLWorkBook workBook = WorkBook.Select(filter.Current.WorkBookID);

            bool active = workBook.Status == WorkBookStatus.Active;

            PXUIFieldAttribute.SetEnabled <GLVoucherBatch.selected>(sender, row, row.Released == false && active);
            PXUIFieldAttribute.SetEnabled <GLVoucherBatch.descr>(sender, row, row.Released == false && active);
        }