public void CreateEdsUser(string aspnetUserId, tblUserExt newUser)
        {
            try
            {
                // 1. Add user to tblUser
                tblUser newTblUser = new tblUser()
                {
                    CreateDatetime = DateTime.Now,
                    AspNetUserId = aspnetUserId,
                    FirstName = newUser.FirstName,
                    LastName = newUser.LastName,
                    UserEmail = newUser.UserEmail,
                    StateId = newUser.StateId,
                    LocalId = newUser.LocalId,
                    RoleId = newUser.RoleId
                };
                _db.tblUsers.Add(newTblUser);
                _db.SaveChanges();

                // Get new user
                int edsUserId = _db.tblUsers
                    .Where(x => x.AspNetUserId == aspnetUserId)
                    .Select(x => x.UserId)
                    .SingleOrDefault();
                int districtId = _siteUser.Districts[0].Id;

                newUser.UserId = edsUserId;


                using (var context = new dbTIREntities())
                {
                    using (var dbContextTransaction = context.Database.BeginTransaction())
                    {
                        try
                        {
                            // 2. Add user to tblUserDistrict
                            tblUserDistrict newTblUserDistrict = new tblUserDistrict()
                            {
                                UserId = edsUserId,
                                DistrictId = districtId,
                                CreatedDatetime = DateTime.Now,
                                ChangedDatetime = DateTime.Now,
                                SchoolYearId = newUser.SchoolYearId,
                                RoleId = (int)newUser.RoleId
                            };
                            context.tblUserDistricts.Add(newTblUserDistrict);

                            // 3. Add schools for this user
                            UpdateUserSchool(context, newUser);

                            // 4. Commit changes
                            dbContextTransaction.Commit();
                        }
                        catch (Exception ex)
                        {
                            // 4. Rollback changes
                            dbContextTransaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                DeleteAspNetUser(aspnetUserId);
                throw new Exception(String.Format("ERROR: {0}", ex));
            }
        }
Beispiel #2
0
        public void CreateEdsUser(string aspnetUserId, tblUserExt newUser)
        {
            try
            {
                // 1. Add user to tblUser
                tblUser newTblUser = new tblUser()
                {
                    CreateDatetime = DateTime.Now,
                    AspNetUserId   = aspnetUserId,
                    FirstName      = newUser.FirstName,
                    LastName       = newUser.LastName,
                    UserEmail      = newUser.UserEmail,
                    StateId        = newUser.StateId,
                    LocalId        = newUser.LocalId,
                    RoleId         = newUser.RoleId
                };
                _db.tblUsers.Add(newTblUser);
                _db.SaveChanges();

                // Get new user
                int edsUserId = _db.tblUsers
                                .Where(x => x.AspNetUserId == aspnetUserId)
                                .Select(x => x.UserId)
                                .SingleOrDefault();
                int districtId = _siteUser.Districts[0].Id;

                newUser.UserId = edsUserId;


                using (var context = new dbTIREntities())
                {
                    using (var dbContextTransaction = context.Database.BeginTransaction())
                    {
                        try
                        {
                            // 2. Add user to tblUserDistrict
                            tblUserDistrict newTblUserDistrict = new tblUserDistrict()
                            {
                                UserId          = edsUserId,
                                DistrictId      = districtId,
                                CreatedDatetime = DateTime.Now,
                                ChangedDatetime = DateTime.Now,
                                SchoolYearId    = newUser.SchoolYearId,
                                RoleId          = (int)newUser.RoleId
                            };
                            context.tblUserDistricts.Add(newTblUserDistrict);

                            // 3. Add schools for this user
                            UpdateUserSchool(context, newUser);

                            // 4. Commit changes
                            dbContextTransaction.Commit();
                        }
                        catch (Exception ex)
                        {
                            // 4. Rollback changes
                            dbContextTransaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                DeleteAspNetUser(aspnetUserId);
                throw new Exception(String.Format("ERROR: {0}", ex));
            }
        }