예제 #1
0
        public static PERSPECTIVE_VIEW UpdateView(SQM.Website.PSsqmEntities ctx, PERSPECTIVE_VIEW view, string updateBy)
        {
            try
            {
                if (view.STATUS == "D")
                {
                    ctx.DeleteObject(view);
                }
                else
                {
                    view = (PERSPECTIVE_VIEW)SQMModelMgr.SetObjectTimestamp((object)view, updateBy, view.EntityState);

                    if (view.EntityState == EntityState.Detached || view.EntityState == EntityState.Added)
                    {
                        view.STATUS = "A";
                        ctx.AddToPERSPECTIVE_VIEW(view);
                    }

                    foreach (PERSPECTIVE_VIEW_ITEM vi in view.PERSPECTIVE_VIEW_ITEM.ToList())
                    {
                        if (vi.STATUS == "D" || vi.ITEM_SEQ < 1)
                        {
                            ctx.DeleteObject(vi);
                        }
                        else
                        {
                            if (vi.EntityState == EntityState.Detached || vi.EntityState == EntityState.Added)
                            {
                                vi.STATUS      = "A";
                                vi.CALCS_SCOPE = view.PERSPECTIVE;
                                ctx.AddToPERSPECTIVE_VIEW_ITEM(vi);
                            }
                        }
                    }
                }

                ctx.SaveChanges();
            }
            catch (Exception e)
            {
                //SQMLogger.LogException(e);
            }

            return(view);
        }