Пример #1
0
        public static void Release(List <EPTimeCardRow> timeCards)
        {
            TimeCardMaint timeCardMaint = PXGraph.CreateInstance <TimeCardMaint>();

            for (int i = 0; i < timeCards.Count; i++)
            {
                timeCardMaint.Clear();
                timeCardMaint.Document.Current = timeCardMaint.Document.Search <EPTimeCard.timeCardCD>(timeCards[i].TimeCardCD);

                if (timeCardMaint.Document.Current == null)
                {
                    PXProcessing <EPTimeCardRow> .SetError(i, Messages.TimecardCannotBeReleased_NoRights);
                }
                else
                {
                    try
                    {
                        timeCardMaint.release.Press();
                        PXProcessing <EPTimeCardRow> .SetInfo(i, ActionsMessages.RecordProcessed);
                    }
                    catch (Exception e)
                    {
                        PXProcessing <EPTimeCardRow> .SetError(i, e is PXOuterException?e.Message + "\r\n" + String.Join("\r\n", ((PXOuterException)e).InnerMessages) : e.Message);
                    }
                }
            }
        }
        public override void Persist()
        {
            var groups = Activity.Cache.Updated.Cast <EPActivityApprove>()
                         .Where(a => a.IsReject == true && a.TimeCardCD != null)
                         .GroupBy(a => a.TimeCardCD)
                         .ToList();

            using (var ts = new PXTransactionScope())
            {
                if (groups.Count > 0)
                {
                    TimeCardMaint maint = PXGraph.CreateInstance <TimeCardMaint>();

                    foreach (var group in groups)
                    {
                        maint.Clear();
                        maint.Document.Current = maint.Document.Search <EPTimeCard.timeCardCD>(group.Key);
                        maint.Actions["Reject"].Press();
                        maint.Persist();
                    }
                }

                base.Persist();

                ts.Complete();
            }
        }
Пример #3
0
        public virtual IEnumerable transactions()
        {
            PXSelectBase <PMTran> select = new PXSelectJoin <PMTran,
                                                             LeftJoin <Account, On <Account.accountID, Equal <PMTran.offsetAccountID> >,
                                                                       LeftJoin <PMRegister, On <PMTran.tranType, Equal <PMRegister.module>, And <PMTran.refNbr, Equal <PMRegister.refNbr> > >,
                                                                                 LeftJoin <ARTran, On <ARTran.tranType, Equal <PMTran.aRTranType>, And <ARTran.refNbr, Equal <PMTran.aRRefNbr>, And <ARTran.lineNbr, Equal <PMTran.refLineNbr> > > > > > >,
                                                             Where <PMTran.projectID, Equal <Current <TranFilter.projectID> > > >(this);

            TranFilter filter = this.Filter.Current;

            if (filter != null)
            {
                if (filter.AccountGroupID != null)
                {
                    select.WhereAnd <Where <PMTran.accountGroupID, Equal <Current <TranFilter.accountGroupID> >, Or <Account.accountGroupID, Equal <Current <TranFilter.accountGroupID> > > > >();
                }
                if (filter.ProjectTaskID != null)
                {
                    select.WhereAnd <Where <PMTran.taskID, Equal <Current <TranFilter.projectTaskID> > > >();
                }
                if (filter.CostCode != null)
                {
                    select.WhereAnd <Where <PMTran.costCodeID, Equal <Current <TranFilter.costCode> > > >();
                }
                if (filter.InventoryID != null)
                {
                    select.WhereAnd <Where <PMTran.inventoryID, Equal <Current <TranFilter.inventoryID> > > >();
                }
                if (filter.ResourceID != null)
                {
                    select.WhereAnd <Where <PMTran.resourceID, Equal <Current <TranFilter.resourceID> > > >();
                }
                if (filter.OnlyAllocation == true)
                {
                    select.WhereAnd <Where <PMRegister.isAllocation, Equal <True> > >();
                }
                if (filter.DateFrom != null && filter.DateTo != null)
                {
                    if (filter.DateFrom == filter.DateTo)
                    {
                        select.WhereAnd <Where <PMTran.date, Equal <Current <TranFilter.dateFrom> > > >();
                    }
                    else
                    {
                        select.WhereAnd <Where <PMTran.date, Between <Current <TranFilter.dateFrom>, Current <TranFilter.dateTo> > > >();
                    }
                }
                else if (filter.DateFrom != null)
                {
                    select.WhereAnd <Where <PMTran.date, GreaterEqual <Current <TranFilter.dateFrom> > > >();
                }
                else if (filter.DateTo != null)
                {
                    select.WhereAnd <Where <PMTran.date, LessEqual <Current <TranFilter.dateTo> > > >();
                }
            }

            return(TimeCardMaint.QSelect(this, select.View.BqlSelect));
        }
        public virtual IEnumerable editDetail(PXAdapter adapter)
        {
            if (Records.Current != null && Records.Current.RefNoteID != null)
            {
                bool navigate = true;

                EntityHelper helper = new EntityHelper(this);
                Note         note   = helper.SelectNote(Records.Current.RefNoteID);

                if (note != null && note.EntityType == typeof(EPExpenseClaim).FullName)
                {
                    EPExpenseClaim claim = PXSelect <EPExpenseClaim, Where <EPExpenseClaim.noteID, Equal <Required <EPExpenseClaim.noteID> > > > .Select(this, note.NoteID);

                    if (claim != null)
                    {
                        ExpenseClaimEntry graph  = PXGraph.CreateInstance <ExpenseClaimEntry>();
                        EPExpenseClaim    target = graph.ExpenseClaim.Search <EPExpenseClaim.refNbr>(claim.RefNbr);
                        if (target == null)
                        {
                            navigate = false;
                        }
                    }
                    else
                    {
                        using (new PXReadBranchRestrictedScope())
                        {
                            claim = PXSelect <EPExpenseClaim, Where <EPExpenseClaim.noteID, Equal <Required <EPExpenseClaim.noteID> > > > .Select(this, note.NoteID);

                            if (claim != null)
                            {
                                throw new PXException(Messages.YouAreNotAlowedToViewTheDetails);
                            }
                        }
                    }
                }

                if (note != null && note.EntityType == typeof(EPTimeCard).FullName)
                {
                    EPTimeCard timecard = PXSelect <EPTimeCard, Where <EPTimeCard.noteID, Equal <Required <EPTimeCard.noteID> > > > .Select(this, note.NoteID);

                    if (timecard != null)
                    {
                        TimeCardMaint graph  = PXGraph.CreateInstance <TimeCardMaint>();
                        EPTimeCard    target = graph.Document.Search <EPTimeCard.timeCardCD>(timecard.TimeCardCD);
                        if (target == null)
                        {
                            navigate = false;
                        }
                    }
                }

                if (navigate)
                {
                    helper.NavigateToRow(Records.Current.RefNoteID.Value, PXRedirectHelper.WindowMode.InlineWindow);
                }
            }
            return(adapter.Get());
        }
Пример #5
0
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        TimeCardMaint graph = this.ds.DataGraph as TimeCardMaint;

        if (graph != null)
        {
            graph.CheckAllowedUser();
        }
    }
Пример #6
0
        public static void Release(List <EPTimeCardRow> timeCards)
        {
            TimeCardMaint timeCardMaint = PXGraph.CreateInstance <TimeCardMaint>();

            foreach (EPTimeCardRow item in timeCards)
            {
                timeCardMaint.Clear();
                timeCardMaint.Document.Current = timeCardMaint.Document.Search <EPTimeCard.timeCardCD>(item.TimeCardCD);
                timeCardMaint.release.Press();
            }
        }
 protected virtual void Create()
 {
     using (new PXPreserveScope())
     {
         TimeCardMaint graph = (TimeCardMaint)CreateInstance(typeof(TimeCardMaint));
         graph.Clear(PXClearOption.ClearAll);
         graph.Document.Insert();
         if (Filter.Current.EmployeeID != null && Filter.Current.EmployeeID != graph.Document.Current.EmployeeID)
         {
             graph.Document.Current.EmployeeID = Filter.Current.EmployeeID;
             graph.Document.Update(graph.Document.Current);
         }
         PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.InlineWindow);
     }
 }
Пример #8
0
        public virtual IEnumerable ViewDetails(PXAdapter adapter)
        {
            var row = FilteredItems.Current;

            if (row != null)
            {
                TimeCardMaint graph = PXGraph.CreateInstance <TimeCardMaint>();
                graph.Document.Current = graph.Document.Search <EPTimeCard.timeCardCD>(row.TimeCardCD);
                throw new PXRedirectRequiredException(graph, true, Messages.ViewDetails)
                      {
                          Mode = PXBaseRedirectException.WindowMode.NewWindow
                      };
            }
            return(adapter.Get());
        }
        protected void Delete()
        {
            EPTimeCard row = PXSelect <EPTimeCard, Where <EPTimeCard.timeCardCD, Equal <Current <TimecardWithTotals.timeCardCD> > > > .Select(this);

            if (row == null)
            {
                return;
            }

            using (new PXPreserveScope())
            {
                TimeCardMaint graph = (TimeCardMaint)CreateInstance(typeof(TimeCardMaint));
                graph.Clear(PXClearOption.ClearAll);
                graph.Document.Current = row;
                graph.Delete.Press();
            }
        }
Пример #10
0
        public virtual IEnumerable transactions()
        {
            TranFilter filter = this.Filter.Current;

            if (filter != null && (
                    filter.ProjectID != null ||
                    filter.AccountID != null ||
                    filter.AccountGroupID != null ||
                    filter.ARRefNbr != null ||
                    filter.TranID != null))
            {
                var parameters = new List <object>();
                PXSelectBase <PMTran> select = new PXSelectJoin <PMTran,
                                                                 LeftJoin <Account, On <Account.accountID, Equal <PMTran.offsetAccountID> >,
                                                                           LeftJoin <PMRegister, On <PMTran.tranType, Equal <PMRegister.module>, And <PMTran.refNbr, Equal <PMRegister.refNbr> > > > >,
                                                                 Where <True, Equal <True> > >(this);

                if (filter.ARRefNbr != null)
                {
                    //nbrs of batches originated from invoice
                    var refNbrs = PXSelectJoin <ARInvoice,
                                                InnerJoin <PMRegister, On <PMRegister.origNoteID, Equal <ARInvoice.noteID> > >,
                                                Where <ARRegister.docType, Equal <Current <TranFilter.aRDocType> >,
                                                       And <ARRegister.refNbr, Equal <Current <TranFilter.aRRefNbr> > > > > .Select(this)
                                  .Select(r => ((PMRegister)(PXResult <ARInvoice, PMRegister>)r).RefNbr).ToArray();

                    if (refNbrs.Any())
                    {
                        parameters.Add(refNbrs);
                        select.WhereAnd <Where2
                                         <Where <PMTran.aRTranType, Equal <Current <TranFilter.aRDocType> >, And <PMTran.aRRefNbr, Equal <Current <TranFilter.aRRefNbr> > > >,
                                          Or
                                          <Where <PMTran.refNbr, In <Required <PMTran.refNbr> > > > > >();
                    }
                    else
                    {
                        select.WhereAnd <Where <PMTran.aRTranType, Equal <Current <TranFilter.aRDocType> >, And <PMTran.aRRefNbr, Equal <Current <TranFilter.aRRefNbr> > > > >();
                    }
                }

                if (filter.TranID != null)
                {
                    select.WhereAnd <Where <PMTran.tranID, Equal <Current <TranFilter.tranID> > > >();
                }

                if (filter.ProjectID != null)
                {
                    select.WhereAnd <Where <PMTran.projectID, Equal <Current <TranFilter.projectID> > > >();
                }

                if (filter.AccountGroupID != null)
                {
                    select.WhereAnd <Where <PMTran.accountGroupID, Equal <Current <TranFilter.accountGroupID> >, Or <Account.accountGroupID, Equal <Current <TranFilter.accountGroupID> > > > >();
                }

                if (filter.AccountID != null)
                {
                    select.WhereAnd <Where <PMTran.accountID, Equal <Current <TranFilter.accountID> >, Or <Account.accountID, Equal <Current <TranFilter.accountID> > > > >();
                }

                if (filter.ProjectTaskID != null)
                {
                    select.WhereAnd <Where <PMTran.taskID, Equal <Current <TranFilter.projectTaskID> > > >();
                }

                if (filter.CostCode != null)
                {
                    select.WhereAnd <Where <PMTran.costCodeID, Equal <Current <TranFilter.costCode> > > >();
                }

                if (filter.InventoryID != null)
                {
                    select.WhereAnd <Where <PMTran.inventoryID, Equal <Current <TranFilter.inventoryID> > > >();
                }

                if (filter.ResourceID != null)
                {
                    select.WhereAnd <Where <PMTran.resourceID, Equal <Current <TranFilter.resourceID> > > >();
                }

                if (filter.OnlyAllocation == true)
                {
                    select.WhereAnd <Where <PMRegister.isAllocation, Equal <True> > >();
                }

                if (filter.IncludeUnreleased.GetValueOrDefault() == false)
                {
                    select.WhereAnd <Where <PMRegister.released, Equal <True> > >();
                }

                if (filter.DateFrom != null && filter.DateTo != null)
                {
                    if (filter.DateFrom == filter.DateTo)
                    {
                        select.WhereAnd <Where <PMTran.date, Equal <Current <TranFilter.dateFrom> > > >();
                    }
                    else
                    {
                        select.WhereAnd <Where <PMTran.date, Between <Current <TranFilter.dateFrom>, Current <TranFilter.dateTo> > > >();
                    }
                }
                else if (filter.DateFrom != null)
                {
                    select.WhereAnd <Where <PMTran.date, GreaterEqual <Current <TranFilter.dateFrom> > > >();
                }
                else if (filter.DateTo != null)
                {
                    select.WhereAnd <Where <PMTran.date, LessEqual <Current <TranFilter.dateTo> > > >();
                }
                return(TimeCardMaint.QSelect(this, select.View.BqlSelect, parameters.ToArray()));
            }
            return(Enumerable.Empty <PMTran>());
        }