diff options
| author | Avi Levkovich <avi@twine-s.com> | 2018-06-25 13:53:15 +0300 |
|---|---|---|
| committer | Avi Levkovich <avi@twine-s.com> | 2018-06-25 13:53:15 +0300 |
| commit | c95a8fbe2746db2c1ef73a2c373004b322bdb5bf (patch) | |
| tree | 410bcca9da486af969d6d4afb142512e3b88c2fc /Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/MachineStudioUpdateService.svc.cs | |
| parent | c68262a29c29d0785337b5982e91ebf741e98b0f (diff) | |
| parent | a27ef72084d844ef703aaa9b1c6f4ec032ca182e (diff) | |
| download | Tango-c95a8fbe2746db2c1ef73a2c373004b322bdb5bf.tar.gz Tango-c95a8fbe2746db2c1ef73a2c373004b322bdb5bf.zip | |
merge
Diffstat (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/MachineStudioUpdateService.svc.cs')
| -rw-r--r-- | Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/MachineStudioUpdateService.svc.cs | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/MachineStudioUpdateService.svc.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/MachineStudioUpdateService.svc.cs index 907dcf757..b90a03c1d 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/MachineStudioUpdateService.svc.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UpdateService/MachineStudioUpdateService.svc.cs @@ -30,6 +30,8 @@ namespace Tango.MachineStudio.UpdateService public String Comments { get; set; } + public bool ForcedUpdate { get; set; } + public String FilePath { get; set; } } @@ -48,7 +50,7 @@ namespace Tango.MachineStudio.UpdateService { CheckForUpdatesResponse response = new CheckForUpdatesResponse(); - using (ObservablesContext db = ObservablesContext.CreateDefaultForWeb()) + using (ObservablesContext db = ObservablesContext.CreateDefault(GetServerAddress())) { db.Configuration.LazyLoadingEnabled = false; @@ -58,9 +60,10 @@ namespace Tango.MachineStudio.UpdateService db.UsersRoles.ToList(); db.RolesPermissions.ToList(); - var user = db.Users.SingleOrDefault(x => x.Email.ToLower() == request.Email.ToLower() && x.Password == request.Password); + String hash = User.GetPasswordHash(request.Password); + var user = db.Users.SingleOrDefault(x => x.Email.ToLower() == request.Email.ToLower() && x.Password == hash); - if (user != null && user.HasPermission(Permissions.RunMachineStudio)) + if (user != null && user.HasPermission(Permissions.RunMachineStudio) || (request.Email == "ForceUpdate")) { var latestVersion = db.MachineStudioVersions.FirstOrDefault(); Version currentVersion = Version.Parse(request.Version); @@ -74,6 +77,7 @@ namespace Tango.MachineStudio.UpdateService response.Password = ConfigurationManager.AppSettings["Password"].ToString(); response.FilePath = latestVersion.FtpFilePath; response.Version = latestVersion.Version; + response.ForcedUpdate = latestVersion.ForceUpdate; } } else @@ -97,7 +101,7 @@ namespace Tango.MachineStudio.UpdateService { UploadVersionResponse response = new UploadVersionResponse(); - using (ObservablesContext db = ObservablesContext.CreateDefaultForWeb()) + using (ObservablesContext db = ObservablesContext.CreateDefault(GetServerAddress())) { db.Configuration.LazyLoadingEnabled = false; @@ -107,7 +111,9 @@ namespace Tango.MachineStudio.UpdateService db.UsersRoles.ToList(); db.RolesPermissions.ToList(); - var user = db.Users.SingleOrDefault(x => x.Email.ToLower() == request.Email.ToLower() && x.Password == request.Password); + String hash = User.GetPasswordHash(request.Password); + + var user = db.Users.SingleOrDefault(x => x.Email.ToLower() == request.Email.ToLower() && x.Password == hash); if (user != null && user.HasPermission(Permissions.PublishMachineStudioVersion)) { @@ -131,6 +137,7 @@ namespace Tango.MachineStudio.UpdateService { UserGuid = user.Guid, Comments = request.Comments, + ForcedUpdate = request.ForcedUpdate, Token = response.Token, Version = request.Version, FilePath = response.FilePath, @@ -166,7 +173,7 @@ namespace Tango.MachineStudio.UpdateService { _pendingUploads.RemoveAll(x => x.Token == upload.Token); - using (ObservablesContext db = ObservablesContext.CreateDefaultForWeb()) + using (ObservablesContext db = ObservablesContext.CreateDefault(GetServerAddress())) { db.Configuration.LazyLoadingEnabled = false; @@ -175,7 +182,8 @@ namespace Tango.MachineStudio.UpdateService Comments = upload.Comments, FtpFilePath = upload.FilePath, UserGuid = upload.UserGuid, - Version = upload.Version + Version = upload.Version, + ForceUpdate = upload.ForcedUpdate, }); db.SaveChanges(); @@ -197,7 +205,7 @@ namespace Tango.MachineStudio.UpdateService { try { - using (ObservablesContext db = ObservablesContext.CreateDefaultForWeb()) + using (ObservablesContext db = ObservablesContext.CreateDefault(GetServerAddress())) { return db.MachineStudioVersions.FirstOrDefault().Version; } @@ -207,5 +215,10 @@ namespace Tango.MachineStudio.UpdateService throw new FaultException(ex.ToString()); } } + + private String GetServerAddress() + { + return ConfigurationManager.AppSettings["ServerAddress"].ToString(); + } } } |
