コード例 #1
0
ファイル: AcmanHelper.cs プロジェクト: MaxKarasha/Acman
        public static User GetUserByKey(string key, AcManContext context)
        {
            if (string.IsNullOrEmpty(key))
            {
                throw new ArgumentNullException("key");
            }
            var  userRepository = new UserRepository(context);
            User user           = userRepository.GetByKey(key);

            if (user == null)
            {
                user = new User
                {
                    Name  = "Autogenerate from key: " + key,
                    Login = "******" + key
                };
                userRepository.Add(user);
                var userInSystem = new UserInSystem
                {
                    User = user,
                    Key  = key
                };
                var userInSystemRepository = new UserInSystemRepository(context);
                userInSystemRepository.Add(userInSystem);
            }
            return(user);
        }
コード例 #2
0
        public IHttpActionResult PutGuest(Guest guest)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var guestInDb = db.Guests.FirstOrDefault(x => x.UserID == guest.UserID);

            guest.ID          = guestInDb.ID;
            guest.GuestID     = guestInDb.GuestID;
            guest.CreatedDate = guestInDb.CreatedDate;
            db.Entry(guestInDb).CurrentValues.SetValues(guest);
            var userInDb = new UserInSystem();

            try
            {
                db.SaveChanges();

                userInDb = db.UserInSystems.FirstOrDefault(x => x.UserID == guest.UserID);
                if (Convert.ToInt32(userInDb.PermissionID) == 0)
                {
                    userInDb.PermissionID = "1";
                    db.Entry(userInDb).CurrentValues.SetValues(userInDb);
                }
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!GuestExists(guest.ID))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }
            userInDb = db.UserInSystems.FirstOrDefault(x => x.UserID == guest.UserID);

            string strResponseMess = userInDb.PermissionID;

            strResponseMess += ";" + guest.GuestName;
            return(base.ResponseMessage(new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent
                          (
                    strResponseMess,
                    Encoding.UTF8,
                    "text/html"
                          )
            }));
        }
コード例 #3
0
        public IHttpActionResult DeleteUserInSystem(int id)
        {
            UserInSystem userInSystem = db.UserInSystems.Find(id);

            if (userInSystem == null)
            {
                return(NotFound());
            }

            db.UserInSystems.Remove(userInSystem);
            db.SaveChanges();

            return(Ok(userInSystem));
        }
コード例 #4
0
        public IHttpActionResult PutUserInSystem(UserInSystem user)
        {
            var userInDb = new UserInSystem();

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (user.Password == null || user.NewPassword == null)
            {
                userInDb = db.UserInSystems.FirstOrDefault(x => x.UserID == user.UserID);
                if (userInDb == null)
                {
                    return(NotFound());
                }
                userInDb.PermissionID = user.PermissionID;
                try
                {
                    db.Entry(userInDb).CurrentValues.SetValues(userInDb);
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(NotFound());
                }
            }
            else
            {
                userInDb = db.UserInSystems.FirstOrDefault(x => x.UserID == user.UserID && x.Password == user.Password);
                if (userInDb == null)
                {
                    return(BadRequest());
                }
                userInDb.Password = user.NewPassword;
                try
                {
                    db.Entry(userInDb).CurrentValues.SetValues(userInDb);
                    db.SaveChanges();
                }
                catch (DbUpdateConcurrencyException)
                {
                    return(NotFound());
                }
            }

            return(Ok());
        }
コード例 #5
0
        public static Guid CreateTestData(AcManContext context)
        {
            var userId = CreateSystemUser(context);

            CreateActivityToUser(context, userId);
            var systemId = CreateBpmSystem(context);
            var userInSystemRepository = new UserInSystemRepository(context);
            var userInSystem           = new UserInSystem {
                UserId      = userId,
                EndSystemId = systemId,
                Key         = "TestKey",
                EntityState = AcmanEntityState.Added
            };

            userInSystemRepository.Add(userInSystem);
            return(userId);
        }
コード例 #6
0
        public IHttpActionResult PostUserInSystem(UserInSystem userInSystem)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var user = db.UserInSystems.FirstOrDefault(x => x.UserName == userInSystem.UserName);

            if (user != null)
            {
                return(Content(HttpStatusCode.Conflict, "Đã có user"));
            }
            db.UserInSystems.Add(userInSystem);
            db.SaveChanges();
            user = db.UserInSystems.FirstOrDefault(x => x.UserName == userInSystem.UserName);
            if (user != null)
            {
                Guest guest = new Guest();
                guest.UserID        = user.UserID;
                guest.CreatedDate   = DateTime.Now;
                guest.GuestName     = "";
                guest.GuestAddress  = "";
                guest.GuestPhone    = "";
                guest.GuestSex      = 0;
                guest.GuestEmail    = "";
                guest.GuestBirthday = DateTime.Today;

                db.Guests.Add(guest);
                db.SaveChanges();

                var guestInSys = db.Guests.FirstOrDefault(x => x.UserID == user.UserID);

                Image img = new Image();
                img.HostObjID = guestInSys.GuestID;
                img.ImageSrc  = "/Images/avataaars-2.png";

                db.Images.Add(img);
                db.SaveChanges();
            }

            return(CreatedAtRoute("DefaultApi", new { id = userInSystem.ID }, userInSystem));
        }
コード例 #7
0
        public IHttpActionResult GetUserInSystem(string userID)
        {
            if (userID == "")
            {
                return(Content(HttpStatusCode.NotFound, ""));
            }
            UserInSystem userInDb = db.UserInSystems.FirstOrDefault(x => x.UserID == userID);

            if (userInDb == null)
            {
                return(Content(HttpStatusCode.Forbidden, ""));
            }
            return(base.ResponseMessage(new HttpResponseMessage(HttpStatusCode.Accepted)
            {
                Content = new StringContent
                          (
                    userInDb.PermissionID,
                    Encoding.UTF8,
                    "text/html"
                          )
            }));
        }
コード例 #8
0
        public IHttpActionResult GetUserInSystem(string username, string password)
        {
            if (username == "" || password == "")
            {
                return(Content(HttpStatusCode.NotFound, ""));
            }
            UserInSystem userInDb = db.UserInSystems.FirstOrDefault(x => x.UserName == username && x.Password == password);

            if (userInDb == null)
            {
                return(Content(HttpStatusCode.Forbidden, ""));
            }
            Guest guest = db.Guests.FirstOrDefault(x => x.UserID == userInDb.UserID);

            if (guest == null)
            {
                return(Content(HttpStatusCode.Forbidden, ""));
            }
            Image img = db.Images.FirstOrDefault(x => x.HostObjID == guest.GuestID);

            if (img == null)
            {
                return(Content(HttpStatusCode.Forbidden, ""));
            }
            string strResponseMess = userInDb.PermissionID.ToString();

            strResponseMess += ";" + userInDb.UserID.ToString();
            strResponseMess += ";" + guest.GuestName.ToString();
            strResponseMess += ";" + img.ImageSrc.ToString();
            return(base.ResponseMessage(new HttpResponseMessage(HttpStatusCode.Accepted)
            {
                Content = new StringContent
                          (
                    strResponseMess,
                    Encoding.UTF8,
                    "text/html"
                          )
            }));
        }
コード例 #9
0
        public static void Initialize(AcManContext context)
        {
            //context.Database.EnsureDeleted();
            context.Database.EnsureCreated();
            if (context.Users.SingleOrDefault(s => s.Id == AcmanConstants.User.AcmanSUId) == null)
            {
                var demoUser = new User
                {
                    Id                = AcmanConstants.User.AcmanSUId,
                    Name              = "Acman system user",
                    Login             = "******",
                    EndSystemRecordId = new Guid("410006e1-ca4e-4502-a9ec-e54d922d2c00"),
                    EntityState       = AcmanEntityState.Added
                };
                context.Users.Add(demoUser);
                var userInSystem = new UserInSystem
                {
                    User = demoUser,
                    Key  = AcmanConstants.DemoKeyName
                };
                var userInSystemRepository = new UserInSystemRepository(context);
                userInSystemRepository.Add(userInSystem);
            }
            if (context.EndSystems.SingleOrDefault(s => s.Id == AcmanConstants.EndSystem.BpmonlineWorkTsi) == null)
            {
                context.EndSystems.Add(
                    new EndSystem {
                    Id          = AcmanConstants.EndSystem.BpmonlineWorkTsi,
                    Name        = "Bpm'online work TSI",
                    EntityState = AcmanEntityState.Added
                }
                    );
            }

            // Generate test data
            if (!context.Activities.Any())
            {
                context.Activities.Add(
                    new Activity
                {
                    Id          = Guid.NewGuid(),
                    Caption     = "Рефакторинг кода по Лояльности",
                    UserId      = AcmanConstants.User.AcmanSUId,
                    Status      = ActivityStatus.InProgress,
                    Start       = DateTime.Now,
                    EntityState = AcmanEntityState.Added
                }
                    );
                context.Activities.Add(
                    new Activity
                {
                    Id          = Guid.NewGuid(),
                    Caption     = "Интеграция с SAP SM",
                    UserId      = AcmanConstants.User.AcmanSUId,
                    Status      = ActivityStatus.New,
                    EntityState = AcmanEntityState.Added
                }
                    );
                context.Activities.Add(
                    new Activity
                {
                    Id          = Guid.NewGuid(),
                    Caption     = "Code review",
                    UserId      = AcmanConstants.User.AcmanSUId,
                    Status      = ActivityStatus.New,
                    Start       = DateTime.Now,
                    EntityState = AcmanEntityState.Added
                }
                    );
                context.Activities.Add(
                    new Activity
                {
                    Id          = Guid.NewGuid(),
                    Caption     = "Архитектура автопланирования, UML",
                    UserId      = AcmanConstants.User.AcmanSUId,
                    Status      = ActivityStatus.InPause,
                    EntityState = AcmanEntityState.Added
                }
                    );
            }

            context.SaveChanges();
        }