Beispiel #1
0
        public static bool DeleteRec(Guid userId)
        {
            bool result = false;

            using (var ctx = new EF6.RT2020Entities())
            {
                var user = ctx.Staff.Find(userId);
                if (user != null)
                {
                    // cannot delete primary user (primary user means CreatedBy = Guid.Empty)
                    if (user.CreatedBy != Guid.Empty)
                    {
                        switch ((int)user.Status)
                        {
                        case (int)EnumHelper.Status.Active:
                            user.Status    = Convert.ToInt32(EnumHelper.Status.Inactive.ToString("d"));
                            user.Retired   = true;
                            user.RetiredOn = DateTime.Now;
                            user.RetiredBy = ConfigHelper.CurrentUserId;

                            ctx.SaveChanges();
                            result = true;
                            break;

                        case (int)EnumHelper.Status.Draft:
                            result = StaffAddressEx.Delete(userId);
                            break;
                        }
                    }
                }
            }
            return(result);
        }
Beispiel #2
0
        public static bool DeleteRec(Guid userId)
        {
            bool result = false;

            using (var ctx = new EF6.RT2020Entities())
            {
                var staff = ctx.Staff.Find(userId);
                if (staff != null)
                {
                    // cannot delete primary user (primary user means CreatedBy = Guid.Empty)
                    if (staff.CreatedBy != Guid.Empty)
                    {
                        switch ((int)staff.Status)
                        {
                        case (int)EnumHelper.Status.Active:
                            staff.Status    = Convert.ToInt32(EnumHelper.Status.Inactive.ToString("d"));
                            staff.Retired   = true;
                            staff.RetiredOn = DateTime.Now;
                            staff.RetiredBy = ConfigHelper.CurrentUserId;

                            ctx.SaveChanges();
                            result = true;
                            break;

                        case (int)EnumHelper.Status.Draft:
                            result = StaffAddressEx.Delete(userId);
                            break;
                        }

                        // 2012.04.04 paulus: 把 login 的資料一並刪除
                        UserProfile.DelRec(staff.StaffId);
                    }

                    // log activity
                    RT2020.Controls.Log4net.LogInfo(RT2020.Controls.Log4net.LogAction.Delete, staff.ToString());
                }
            }
            return(result);
        }