示例#1
0
        public ModifyRight GetUserRightForCenter(MisUser user, int centerID)
        {
            var right = _context.ModifyRights.SingleOrDefault(x => x.CenterID == centerID && x.MisUserID == user.MisUserID);

            if (right == null)
            {
                return(new ModifyRight()
                {
                    CanAdmin = false,
                    CanRead = false,
                    CanWrite = false,
                    CenterID = centerID,
                    MisUserID = user.MisUserID,
                    ModifyRightID = 0
                });
            }
            return(right);
        }
        public IActionResult Delete([FromBody] MisUser misUser)
        {
            if (ModelState.IsValid && IsCurrentUserActiveGlobalAdmin())
            {
                var dbMisUser = _context.MisUsers.SingleOrDefault(b => b.MisUserID == misUser.MisUserID);
                if (dbMisUser != null)
                {
                    dbMisUser.Deleted   = true;
                    dbMisUser.DeletedAt = DateTime.Now;
                    dbMisUser.DeletedBy = User.Identity.Name;

                    _context.Entry(dbMisUser).State = EntityState.Modified;
                    _context.SaveChanges();
                    return(NoContent());
                }
            }
            return(BadRequest());
        }
        public IActionResult Update([FromBody] MisUser misUser)
        {
            if (ModelState.IsValid && IsCurrentUserActiveGlobalAdmin())
            {
                var dbMisUser = _context.MisUsers.SingleOrDefault(b => b.MisUserID == misUser.MisUserID && b.Deleted == false);
                if (dbMisUser != null)
                {
                    dbMisUser.Name                  = misUser.Name;
                    dbMisUser.IdentityName          = misUser.IdentityName;
                    dbMisUser.IsActive              = misUser.IsActive;
                    dbMisUser.IsAdmin               = misUser.IsAdmin;
                    dbMisUser.CenterID              = misUser.CenterID;
                    _context.Entry(dbMisUser).State = EntityState.Modified;
                    _context.SaveChanges();

                    RemoveUserModifyRights(dbMisUser);

                    foreach (var modifyRight in misUser.ModifyRights)
                    {
                        var newRight = new ModifyRight()
                        {
                            MisUserID = misUser.MisUserID,
                            CenterID  = modifyRight.CenterID,
                            CanAdmin  = modifyRight.CanAdmin,
                            CanRead   = modifyRight.CanRead,
                            CanWrite  = modifyRight.CanWrite
                        };
                        _context.ModifyRights.Add(newRight);
                    }
                    _context.SaveChanges();

                    dbMisUser.Center = _context.Centers.SingleOrDefault(b => b.CenterID == dbMisUser.CenterID && b.Deleted == false);

                    dbMisUser.ModifyRights = _context.ModifyRights.Where(b => b.ModifyRightID == dbMisUser.MisUserID).ToList();

                    return(Ok(dbMisUser));
                }
            }
            return(BadRequest());
        }
        public IActionResult Create([FromBody] MisUser misUser)
        {
            if (ModelState.IsValid && IsCurrentUserActiveGlobalAdmin())
            {
                var newUser = new MisUser()
                {
                    Name         = misUser.Name,
                    IdentityName = misUser.IdentityName,
                    IsActive     = misUser.IsActive,
                    IsAdmin      = misUser.IsAdmin,
                    CenterID     = misUser.CenterID
                };
                newUser.Center = _context.Centers.SingleOrDefault(b => b.CenterID == misUser.CenterID && b.Deleted == false);
                if (newUser.Center == null)
                {
                    return(BadRequest());
                }
                _context.MisUsers.Add(newUser);
                _context.SaveChanges();

                foreach (var modifyRight in misUser.ModifyRights)
                {
                    var newModifyRight = new ModifyRight()
                    {
                        MisUserID = newUser.MisUserID,
                        CenterID  = modifyRight.CenterID,
                        CanAdmin  = modifyRight.CanAdmin,
                        CanRead   = modifyRight.CanRead,
                        CanWrite  = modifyRight.CanWrite,
                    };
                    _context.ModifyRights.Add(newModifyRight);
                }
                _context.SaveChanges();

                newUser.ModifyRights = _context.ModifyRights.Where(b => b.ModifyRightID == newUser.MisUserID).ToList();

                return(Ok(newUser));
            }
            return(BadRequest());
        }
 private void RemoveUserModifyRights(MisUser misUser)
 {
     _context.Database.ExecuteSqlCommand(
         "DELETE from ModifyRight where MisUserID={0}",
         parameters: misUser.MisUserID);
 }
        public static void Initialize(MyMisContext context)
        {
            context.Database.EnsureCreated();

            // Look for any data to see if it's been seeded.
            if (context.MisUsers.Any())
            {
                return;   // DB has been seeded
            }

            var regions = new Region[]
            {
                new Region {
                    Name = "International"
                },
                new Region {
                    Name = "US"
                },
            };

            foreach (var s in regions)
            {
                context.Regions.Add(s);
            }
            context.SaveChanges();

            foreach (var region in regions)
            {
                switch (region.Name)
                {
                case "International":
                    var hqs = new Center[]
                    {
                        new Center {
                            Name = "HQ", Region = region, DoNotTrackMonthStatus = true
                        },
                    };
                    foreach (var s in hqs)
                    {
                        context.Centers.Add(s);
                    }
                    break;

                case "US":
                    var usCenters = new Center[]
                    {
                        new Center {
                            Name = "Seattle", Region = region
                        },
                    };
                    foreach (var s in usCenters)
                    {
                        context.Centers.Add(s);
                    }
                    break;
                }
            }
            context.SaveChanges();

            var users = new MisUser[]
            {
                new MisUser {
                    Name = "test2", IdentityName = "live.com#[email protected]", IsActive = true, IsAdmin = true
                },
            };

            foreach (var s in users)
            {
                context.MisUsers.Add(s);
            }
            context.SaveChanges();

            context.SaveChanges();

            var emailTemplate = new EmailTemplate
            {
                IsForMonthStatusNotification = true,
                Subject = @"[%CenterName%] %YearMonth% Notice",
                Message = @"Test message"
            };

            context.EmailTemplates.Add(emailTemplate);
            context.SaveChanges();
        }