Exemplo n.º 1
0
        public static int UpdateTargetCalcList(PSsqmEntities ctx, List <PERSPECTIVE_TARGET_CALC> tcList, string updateBy)
        {
            int status = 0;

            try
            {
                for (int n = 0; n < tcList.Count; n++)
                {
                    PERSPECTIVE_TARGET_CALC tc = tcList[n];
                    if (tc.EntityState != EntityState.Unchanged)
                    {
                        tc = (PERSPECTIVE_TARGET_CALC)SQMModelMgr.SetObjectTimestamp(tc, updateBy, tc.EntityState);
                        if (tc.EntityState == EntityState.Detached)
                        {
                            ctx.AddToPERSPECTIVE_TARGET_CALC(tc);
                        }
                    }
                }
                status = ctx.SaveChanges();
            }
            catch (Exception e)
            {
                // SQMLogger.LogException(e);
            }

            return(status);
        }
Exemplo n.º 2
0
        public static PERSPECTIVE_TARGET_CALC CreateTargetCalc(decimal targetID)
        {
            PERSPECTIVE_TARGET_CALC tc = new PERSPECTIVE_TARGET_CALC();

            tc.TARGET_ID   = targetID;
            tc.PERIOD_YEAR = tc.PERIOD_MONTH = 0;
            tc.VALUE_IND   = false;
            return(tc);
        }
Exemplo n.º 3
0
        public int TargetMetric(string targetScope, decimal[] plantIDS, DateTime targetDate)
        {
            int status = 0;

            this.Results.ValidResult = false;

            try
            {
                PERSPECTIVE_TARGET      target = this.TargetList.Where(t => t.CALCS_SCOPE == targetScope).FirstOrDefault();
                PERSPECTIVE_TARGET_CALC tc     = null;

                if (targetDate > DateTime.MinValue)
                {                             // get specific date period
                    if (plantIDS.Length == 1) // get specific plant
                    {
                        tc = target.PERSPECTIVE_TARGET_CALC.Where(l => l.PLANT_ID != null && plantIDS.Contains((decimal)l.PLANT_ID) && (l.PERIOD_YEAR == targetDate.Year && l.PERIOD_MONTH == targetDate.Month)).FirstOrDefault();
                    }
                    else
                    {
                        tc = target.PERSPECTIVE_TARGET_CALC.Where(l => l.PLANT_ID == null && (l.PERIOD_YEAR == targetDate.Year && l.PERIOD_MONTH == targetDate.Month)).FirstOrDefault();
                    }
                }
                else
                {   // get the most recent results
                    if (plantIDS.Length == 1)
                    {
                        tc = target.PERSPECTIVE_TARGET_CALC.Where(l => l.PLANT_ID != null && plantIDS.Contains((decimal)l.PLANT_ID) && l.VALUE_IND == true).FirstOrDefault();
                    }
                    else
                    {
                        tc = target.PERSPECTIVE_TARGET_CALC.Where(l => l.PLANT_ID == null && l.VALUE_IND == true).FirstOrDefault();
                    }
                }
                if (tc != null)
                {
                    this.Results.Text        = this.TargetList.Where(t => t.CALCS_SCOPE == targetScope).Select(t => t.DESCR_LONG).FirstOrDefault();
                    this.Results.ValidResult = (bool)tc.VALUE_IND;
                    this.Results.Result      = (decimal)tc.VALUE;
                    this.Results.ResultDate  = new DateTime(tc.PERIOD_YEAR, tc.PERIOD_MONTH, DateTime.DaysInMonth(tc.PERIOD_YEAR, tc.PERIOD_MONTH));
                }
            }
            catch
            {
                status = -1;
            }

            return(status);
        }
Exemplo n.º 4
0
        public static PERSPECTIVE_TARGET_CALC UpdateTargetCalc(PSsqmEntities ctx, PERSPECTIVE_TARGET_CALC tc, string updateBy)
        {
            PERSPECTIVE_TARGET_CALC ret = null;

            tc = (PERSPECTIVE_TARGET_CALC)SQMModelMgr.SetObjectTimestamp(tc, updateBy, tc.EntityState);
            if (tc.EntityState == EntityState.Detached)
            {
                ctx.AddToPERSPECTIVE_TARGET_CALC(tc);
            }
            if (ctx.SaveChanges() > 0)
            {
                ret = tc;
            }

            return(ret);
        }
Exemplo n.º 5
0
        static PERSPECTIVE_TARGET_CALC LookupTargetCalc(PSsqmEntities ctx, decimal targetID, decimal plantID, int year, int month, bool createNew)
        {
            PERSPECTIVE_TARGET_CALC tc = null;

            try
            {
                tc = (from c in ctx.PERSPECTIVE_TARGET_CALC
                      where (c.TARGET_ID == targetID && c.PLANT_ID == plantID && c.PERIOD_YEAR == year && c.PERIOD_MONTH == month)
                      select c).Single();
            }
            catch
            {; }

            if (tc == null && createNew)
            {
                tc              = CreateTargetCalc(targetID);
                tc.PLANT_ID     = plantID;
                tc.PERIOD_YEAR  = year;
                tc.PERIOD_MONTH = month;
            }

            return(tc);
        }