Пример #1
0
        public PartialViewResult GetActionsView(long uri, bool vertical)
        {
            var hvm = new ActionsViewModel();

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn = new InforConnection(tu: _tu, tup: _tup);
            var rec  = (InforRecord)conn.GetRecordWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);

            hvm.Actions      = ActionService.GetActions(AppUserState.Wgs, AppUserState.Ds, AppUserState.UserName, uri);
            hvm.RecordNumber = rec.RecordNumber;
            var firstOrDefault = hvm.Actions.FirstOrDefault(ac => ac.Status == InforActionStatus.Current);

            if (firstOrDefault != null)
            {
                hvm.CurrentActionUri = firstOrDefault.Uri;
            }
            hvm.RecordUri     = rec.Uri;
            hvm.Title         = rec.Title;
            hvm.VerticalView  = vertical;
            hvm.CanAddActions = rec.CanAddActions;
            return(PartialView("_Actions", hvm));
        }
Пример #2
0
        public PartialViewResult GetActionDetails(int uri, int recUri)
        {
            var conn = new InforConnection(tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            if (uri > 0)
            {
                var action = ActionService.GetAction(AppUserState.Wgs, AppUserState.Ds, AppUserState.UserName, uri);
                _actionViewModel.Action       = action;
                _actionViewModel.RecordNumber = action.RecorNumber;
                _actionViewModel.RecordUri    = action.RecordUri;
                _actionViewModel.Title        = action.Name;
            }
            else
            {
                var rec = conn.GetRecordWeb(recUri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
                _actionViewModel.RecordNumber = rec.RecordNumber;
                _actionViewModel.RecordUri    = rec.Uri;
                _actionViewModel.Title        = rec.Title;
            }
            return(PartialView("_ActionDetails", _actionViewModel));
        }
Пример #3
0
        public JsonResult GetLocationsActions(string groupName, long?userId)
        {
            var path = System.Web.HttpContext.Current.Server.MapPath("~/Content/Images/UserImages/");

            var            conn = new InforConnection(reportServerAddress: $"{ReportserverUrl}", tu: _tu, tup: _tup);
            InforLocations locs;

            if (string.IsNullOrEmpty(groupName))
            {
                locs = (InforLocations)LocationService.GetLocations(AppUserState.Wgs, AppUserState.Ds,
                                                                    AppUserState.UserName, LocationSearchType.ActiveValid, 0, "", path).ReturnObject;
            }
            else
            {
                locs = conn.GetLocationsForGroup(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, groupName,
                                                 path);
            }

            if (userId == null)
            {
                return(this.Jsonp(locs));
            }
            if (locs.All(id => id.UserId != userId))
            {
                locs.Add((InforLocation)LocationService
                         .GetSpecificLocation(AppUserState.Wgs, AppUserState.Ds, AppUserState.UserName, (long)userId)
                         .ReturnObject);
            }
            return(this.Jsonp(locs));
        }
Пример #4
0
        public JsonResult All()
        {
            //    Logger.Info($"all records");
            var conn = new InforConnection(tu: _tu, tup: _tup);

            //    if (AppUserState == null || AppUserState.Connected == false) return null;
            //    Logger.Info($"get records for user  {AppUserState.UserName}");
            var s = new InforSearch
            {
                SearchType  = InforSearches.Favourites,
                Name        = InforSearches.Favourites.GetAttribute <DescriptionAttribute>().Description,
                Function    = InforSearches.Favourites.GetAttribute <SearchStringAttribute>().Term,
                App         = InforSearches.Favourites.GetAttribute <ApplicationAttribute>().Application,
                IsAdminable = false,
                //Icon = new BitmapImage(new Uri(@"/Images/SearchIcons/favourite.jpg", UriKind.RelativeOrAbsolute)),
                RunAsAdmin = false
            };

            //Logger.Info($"going to do search");
            try
            {
                var recs = conn.SearchWeb(s, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
                Logger.Info($"search resturned {recs.Count} records");
                return(this.Jsonp(recs));
            }
            catch (Exception ex)
            {
                Logger.Info($"search resulted in an error {ex.Message} with stack {ex.StackTrace}");
            }
            return(null);
        }
Пример #5
0
        public PartialViewResult GetProcessActions(long uri, long processRootUri)
        {
            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn   = new InforConnection(tu: _tu, tup: _tup);
            var result = ProcessService.GetProcessNode(AppUserState.Wgs, AppUserState.Ds, AppUserState.UserName, uri);

            if (result.Faults.Any())
            {
                ErrorDisplay.ShowError(result.Faults[0].Message);
                return(PartialView("/Views/Process/_ProcessActions.cshtml", _processActionsViewModel));
            }

            var process = (InforNode)result.ReturnObject;
            var rec     = (InforRecord)conn.GetRecordWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);

            _processActionsViewModel.Uri       = uri;
            _processActionsViewModel.ParentUri = processRootUri;
            _processActionsViewModel.Node      = new InforNodes {
                process
            };
            _processActionsViewModel.Title = $"{process.AllocationString} {process.DateDueString}";
            _processActionsViewModel.Notes = rec.DisplayNotes;
            return(PartialView("/Views/Process/_ProcessActions.cshtml", _processActionsViewModel));
        }
Пример #6
0
        public ActionResult DocumentView(long uri)
        {
            Logger.Info($"Document View");
            var file = DocManagerHelper.GetDocumentForView(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, AppUserState.UserId);
            var conn = new InforConnection(tu: _tu, tup: _tup);
            var rec  = (InforRecord)conn.GetRecordWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
            var hvm  = new FileViewModel
            {
                Edit         = false,
                ErrorDisplay = ErrorDisplay,
                AppUserState = AppUserState,
                RecordNumber = rec.RecordNumber,
                Title        = rec.Title,
                FileModel    = new FileModel
                {
                    TypeDesktop  = true,
                    FileName     = file,
                    AppUserState = AppUserState,
                    RecordUri    = rec.Uri
                },
                Uri = uri
            };

            Logger.Info($"{hvm.FileModel.FileUri}");
            Logger.Info($"{hvm.FileModel.Key}");
            Logger.Info($"{hvm.FileModel.DocumentType}");
            return(PartialView("_DocumentView", hvm));
        }
Пример #7
0
      //public static void ConvertToHtml(string file, string outputDirectory)
      //{
      //    var fi = new FileInfo(file);
      //    Console.WriteLine(fi.Name);
      //    var byteArray = System.IO.File.ReadAllBytes(fi.FullName);
      //    using (var memoryStream = new MemoryStream())
      //    {
      //        memoryStream.Write(byteArray, 0, byteArray.Length);
      //        using (var wDoc = WordprocessingDocument.Open(memoryStream, true))
      //        {
      //            var destFileName = new FileInfo(fi.Name.Replace(".docx", ".html"));
      //            if (!string.IsNullOrEmpty(outputDirectory))
      //            {
      //                var di = new DirectoryInfo(outputDirectory);
      //                if (!di.Exists)
      //                {
      //                    throw new OpenXmlPowerToolsException("Output directory does not exist");
      //                }
      //                destFileName = new FileInfo(Path.Combine(di.FullName, destFileName.Name));
      //            }
      //            var imageDirectoryName = destFileName.FullName.Substring(0, destFileName.FullName.Length - 5) + "_files";
      //            var imageCounter = 0;

      //            var pageTitle = fi.FullName;
      //            var part = wDoc.CoreFilePropertiesPart;
      //            if (part != null)
      //            {
      //                pageTitle = (string)part.GetXDocument().Descendants(DC.title).FirstOrDefault() ?? fi.FullName;
      //            }

      //            // TODO: Determine max-width from size of content area.
      //            var settings = new HtmlConverterSettings()
      //            {

      //                AdditionalCss = "body { margin: 1cm auto; max-width: 20cm; padding: 0; }",
      //                PageTitle = pageTitle,
      //                FabricateCssClasses = true,
      //                CssClassPrefix = "pt-",
      //                RestrictToSupportedLanguages = false,
      //                RestrictToSupportedNumberingFormats = false,
      //                ImageHandler = imageInfo =>
      //                {
      //                    var localDirInfo = new DirectoryInfo(imageDirectoryName);
      //                    if (!localDirInfo.Exists)
      //                        localDirInfo.Create();
      //                    ++imageCounter;
      //                    var extension = imageInfo.ContentType.Split('/')[1].ToLower();
      //                    ImageFormat imageFormat = null;
      //                    switch (extension)
      //                    {
      //                        case "png":
      //                            imageFormat = ImageFormat.Png;
      //                            break;
      //                        case "gif":
      //                            imageFormat = ImageFormat.Gif;
      //                            break;
      //                        case "bmp":
      //                            imageFormat = ImageFormat.Bmp;
      //                            break;
      //                        case "jpeg":
      //                            imageFormat = ImageFormat.Jpeg;
      //                            break;
      //                        case "tiff":
      //                            // Convert tiff to gif.
      //                            extension = "gif";
      //                            imageFormat = ImageFormat.Gif;
      //                            break;
      //                        case "x-wmf":
      //                            extension = "wmf";
      //                            imageFormat = ImageFormat.Wmf;
      //                            break;
      //                    }

      //                    // If the image format isn't one that we expect, ignore it,
      //                    // and don't return markup for the link.
      //                    if (imageFormat == null)
      //                        return null;

      //                    var imageFileName = imageDirectoryName + "/image" +
      //                        imageCounter.ToString() + "." + extension;
      //                    try
      //                    {
      //                        imageInfo.Bitmap.Save(imageFileName, imageFormat);
      //                    }
      //                    catch (System.Runtime.InteropServices.ExternalException)
      //                    {
      //                        return null;
      //                    }
      //                    var imageSource = localDirInfo.Name + "/image" +
      //                        imageCounter.ToString() + "." + extension;

      //                    var img = new XElement(Xhtml.img,
      //                        new XAttribute(NoNamespace.src, imageSource),
      //                        imageInfo.ImgStyleAttribute,
      //                        imageInfo.AltText != null ?
      //                            new XAttribute(NoNamespace.alt, imageInfo.AltText) : null);
      //                    return img;
      //                }
      //            };
      //            var htmlElement = HtmlConverter.ConvertToHtml(wDoc, settings);

      //            // Produce HTML document with <!DOCTYPE html > declaration to tell the browser
      //            // we are using HTML5.
      //            var html = new XDocument(
      //                new XDocumentType("html", null, null, null),
      //                htmlElement);

      //            // Note: the xhtml returned by ConvertToHtmlTransform contains objects of type
      //            // XEntity.  PtOpenXmlUtil.cs define the XEntity class.  See
      //            // http://blogs.msdn.com/ericwhite/archive/2010/01/21/writing-entity-references-using-linq-to-xml.aspx
      //            // for detailed explanation.
      //            //
      //            // If you further transform the XML tree returned by ConvertToHtmlTransform, you
      //            // must do it correctly, or entities will not be serialized properly.

      //            var htmlString = html.ToString(SaveOptions.DisableFormatting);
      //            System.IO.File.WriteAllText(destFileName.FullName, htmlString, Encoding.UTF8);
      //        }
      //    }
      //}

      public JsonResult RefreshRecord([FromUri] RecordRequest recordRequest)
      {
          var conn = new InforConnection(tu: _tu, tup: _tup);
          var id   = recordRequest.Id;

          return(id != null?this.Jsonp(conn.GetRecordWeb((long)id, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds)) : null);
      }
Пример #8
0
        public async Task <PartialViewResult> PinnedQuickTiles()
        {
            var hvm = new HomePageViewModel
            {
                ErrorDisplay = ErrorDisplay,
                AppUserState = AppUserState
            };
            var conn = new InforConnection(reportServerAddress: $"{SettingsManager.GetSettingValueAsString("rpurl")}",
                                           tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(PartialView("_QuickTiles", hvm));
            }
            hvm.PinnedTiles = new AppTile();
            if (Classes.Helpers.CookieExists("HomePageViewModel", Response))
            {
                hvm = JsonConvert.DeserializeObject <HomePageViewModel>(
                    Classes.Helpers.GetCookieValue("HomePageViewModel", Response));
                System.IO.File.WriteAllText(
                    Path.Combine(LocalStorageContainer, $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}"),
                    JsonConvert.SerializeObject(hvm.PinnedTiles));
                Classes.Helpers.RemoveCookie("HomePageViewModel", Response);
            }
            else
            {
                if (System.IO.File.Exists(Path.Combine(LocalStorageContainer,
                                                       $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")))
                {
                    hvm = JsonConvert.DeserializeObject <HomePageViewModel>(System.IO.File.ReadAllText(
                                                                                Path.Combine(LocalStorageContainer,
                                                                                             $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")));
                }
            }

            var result = await conn.GetSearchesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds,
                                                   AppUserState.ReportingUserName);

            if (result.Faults.Any())
            {
                ErrorDisplay.ShowError(result.Faults[0].Message);
                return(PartialView("_QuickTiles", hvm));
            }

            var allsearches  = (InforSearches)result.ReturnObject;
            var distinctApps = allsearches.GroupBy(search => search.App).Select(group => group.First());

            hvm.PinnedTiles.UserTiles.RemoveAll(n => distinctApps.All(ap => ap.App != n.Search.App));
            //var removeindexes = (from pin in hvm.PinnedTiles.UserTiles where distinctApps.All(a => a.App != pin.Search.App) select hvm.PinnedTiles.UserTiles.IndexOf(pin)).ToList();
            //foreach (var i in removeindexes)
            //{
            //    hvm.PinnedTiles.UserTiles.RemoveAt(i);
            //}
            return(PartialView("_QuickTiles", hvm));
        }
Пример #9
0
        // Get all users.
        //public async Task<ActionResult> GetUsers()
        //{
        //    var results = new ResultsViewModel();
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Get users.
        //        results.Items = await _usersService.GetUsers(graphClient);
        //    }
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        // Get the current user's profile.
        //public async Task<ActionResult> GetMe()
        //{
        //    var results = new ResultsViewModel();
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Get the current user's profile.
        //        results.Items = await _usersService.GetMe(graphClient);
        //    }
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        // Get the current user's manager.
        //public async Task<ActionResult> GetMyManager()
        //{
        //    var results = new ResultsViewModel();
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Get the current user's manager.
        //        results.Items = await _usersService.GetMyManager(graphClient);
        //    }

        //    // Throws exception if manager is null, with Request_ResourceNotFound code.
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        // Get the current user's photo.
        //public async Task<ActionResult> GetMyPhoto()
        //{
        //    var results = new ResultsViewModel();
        //    results.Selectable = false;
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Get my photo.
        //        results.Items = await _usersService.GetMyPhoto(graphClient);
        //    }

        //    // Throws exception if photo is null, with itemNotFound code.
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        // Create a new user in the signed-in user's tenant.
        // This snippet requires an admin work account.
        //public async Task<ActionResult> CreateUser()
        //{
        //    var results = new ResultsViewModel();
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Add the user.
        //        results.Items = await _usersService.CreateUser(graphClient);
        //    }
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        // Get a specified user.
        //public async Task<ActionResult> GetUser(string id)
        //{
        //    var results = new ResultsViewModel();
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Get the user.
        //        results.Items = await _usersService.GetUser(graphClient, id);
        //    }
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        // Get a specified user's photo.
        //public async Task<ActionResult> GetUserPhoto(string id)
        //{
        //    var results = new ResultsViewModel();
        //    results.Selectable = false;
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Get the user's photo.
        //        results.Items = await _usersService.GetUserPhoto(graphClient, id);
        //    }

        //    // Throws an exception when requesting the photo for unlicensed users (such as those created by this sample), with message "The requested user '<user-name>' is invalid."
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        // Get the direct reports of a specified user.
        //public async Task<ActionResult> GetDirectReports(string id)
        //{
        //    var results = new ResultsViewModel();
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Get user's direct reports.
        //        results.Items = await _usersService.GetDirectReports(graphClient, id);
        //    }
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        // Update a user.
        // This snippet changes the user's display name.
        // This snippet requires an admin work account.
        //public async Task<ActionResult> UpdateUser(string id, string name)
        //{
        //    var results = new ResultsViewModel();
        //    results.Selectable = false;
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Change user display name.
        //        results.Items = await _usersService.UpdateUser(graphClient, id, name);
        //    }
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        // Delete a user. Warning: This operation cannot be undone.
        // This snippet requires an admin work account.
        //public async Task<ActionResult> DeleteUser(string id)
        //{
        //    var results = new ResultsViewModel();
        //    results.Selectable = false;
        //    try
        //    {
        //        // Initialize the GraphServiceClient.
        //        var graphClient = await SDKHelper.GetAuthenticatedClient();

        //        // Make sure that the current user is not selected.
        //        results.Items = await _usersService.DeleteUser(graphClient, id);
        //    }
        //    catch (ServiceException se)
        //    {
        //        if (se.Error.Message == Resource.Error_AuthChallengeNeeded) return new EmptyResult();
        //        return RedirectToAction("Index", "Error",
        //            new
        //            {
        //                message = string.Format(Resource.Error_Message, Request.RawUrl, se.Error.Code, se.Error.Message)
        //            });
        //    }

        //    return View("Users", results);
        //}

        public PartialViewResult _LocationPickerPartial(string groupName, long?userId)
        {
            var vm   = new LocationPickerViewModel();
            var conn = new InforConnection(reportServerAddress: $"{ReportserverUrl}", tu: _tu, tup: _tup);

            //var locs = conn.GetLocationsForGroup(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, groupName, Server.MapPath("~/Content/Images/UserImages/") );
            //vm.Locations = locs;
            vm.ShowToggles         = false;
            vm.SelectedLocationUri = userId ?? (long)0;
            return(PartialView(vm));
        }
Пример #10
0
        public void CheckinDocument(long uri)
        {
            Logger.Info($"File Checked in  {uri}");
            DocManagerHelper.CheckinDocument(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
            var filename = InforConnection.GetFileNameSansExtension(Convert.ToInt64(uri), AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);

            if (System.IO.File.Exists(Path.Combine(PdPath, filename)))
            {
                System.IO.File.Delete(Path.Combine(PdPath, filename));
            }
        }
Пример #11
0
        public JsonResult UpdateNotes(long uri, string notes)
        {
            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn = new InforConnection(tu: _tu, tup: _tup);

            return
                (this.Jsonp(conn.SaveRecordNotesWeb(uri, notes, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds)));
        }
Пример #12
0
        public async Task <SignInStatus> ExternalSignIn(ExternalLoginInfo loginInfo, bool isPersistent)
        {
            var conn       = new InforConnection(tu: Tu, tup: Tup);
            var un         = loginInfo.DefaultUserName;
            var formatedUn = un;
            var domain     = "";

            if (un == @"DESKTOP-K0ELIF5\grant")
            {
                un = "*****@*****.**";
            }
            if (un.IndexOf("@", StringComparison.Ordinal) > 0)
            {
                formatedUn = un.Split('@')[0];
                domain     = un.Split('@')[1].Split('.')[0];
            }
            var challengeResult = conn.AuthorizeUser($"{formatedUn}@{domain}", Wgs, Ds, Path);

            if (challengeResult.Success)
            {
                var tuser = challengeResult.ReturnObject as InforUser;
                if (tuser != null)
                {
                    _appUserState = new AppUserState {
                        Email = tuser.Email, Name = tuser.Name, UserId = tuser.UserId, UserName = tuser.UserName, Wgs = tuser.Wgs, Ds = tuser.Ds, Connected = true, UserImgPath = tuser.UserImagePath, ReportingUserName = tuser.ReportingUserName, SignInFrom = "Windows"
                    };
                    var user = await UserManager.FindByNameAsync(loginInfo.DefaultUserName);

                    if (user == null)
                    {
                        var auser = new inforClaimUser()
                        {
                            UserName = loginInfo.DefaultUserName, Email = new ElasticUserEmail {
                                Address = _appUserState.Email, IsConfirmed = false
                            }
                        };
                        var result = await UserManager.CreateAsync(auser);

                        if (result.Succeeded)
                        {
                            result = await UserManager.AddLoginAsync(auser.Id, loginInfo.Login);
                        }
                        user = auser;
                    }
                    //user.SetState(_appUserState.ToString());
                    await SignInAsync(user, false, false);
                }
            }

            var res = await ExternalSignInAsync(loginInfo, isPersistent);

            return(res);
        }
Пример #13
0
        public JsonResult CompleteAction(long recordUri, long actionUri, string notes)
        {
            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn = new InforConnection(tu: _tu, tup: _tup);

            return
                (this.Jsonp(conn.CompleteRecordActionsWeb(recordUri, actionUri, notes, AppUserState.UserName,
                                                          AppUserState.Wgs, AppUserState.Ds)));
        }
Пример #14
0
        public JsonResult GetInforProps(InforProp parent)
        {
            var conn = new InforConnection(reportServerAddress: _reportserverUrl, tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var props = parent == null?conn.GetPropertiesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, InforObjectype.Record, null) : conn.GetPropertiesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, parent.Type, parent);

            return(this.Jsonp(props));
        }
Пример #15
0
        public string PreviewExportJob(string savedSearch, InforProps props, string delimeter, string qualifier, bool includeHeaders)
        {
            var conn = new InforConnection(reportServerAddress: _reportserverUrl, tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return("");
            }
            var returnstring = conn.PreviewExport(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, savedSearch, props, delimeter, qualifier, includeHeaders);

            return(returnstring);
        }
Пример #16
0
        public async Task <PartialViewResult> PinnedTiles()
        {
            var hvm = new HomePageViewModel
            {
                ErrorDisplay = ErrorDisplay,
                AppUserState = AppUserState
            };
            var conn = new InforConnection(reportServerAddress: $"{SettingsManager.GetSettingValueAsString("rpurl")}",
                                           tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(PartialView("_PinnedTiles", hvm));
            }
            hvm.PinnedTiles = new AppTile();
            if (System.IO.File.Exists(Path.Combine(LocalStorageContainer,
                                                   $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")))
            {
                if (System.IO.File.Exists(Path.Combine(LocalStorageContainer,
                                                       $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")))
                {
                    hvm = JsonConvert.DeserializeObject <HomePageViewModel>(System.IO.File.ReadAllText(
                                                                                Path.Combine(LocalStorageContainer,
                                                                                             $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}")));
                }
            }
            var result = await conn.GetSearchesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds,
                                                   AppUserState.ReportingUserName);

            if (result.Faults.Any())
            {
                hvm.AppUserState.Connected = false;
                ErrorDisplay.ShowError(result.Faults[0].Message);
                return(PartialView("_PinnedTiles", hvm));
            }

            var allsearches  = (InforSearches)result.ReturnObject;
            var distinctApps = allsearches.GroupBy(search => search.App).Select(group => group.First());

            hvm.PinnedTiles.UserTiles.RemoveAll(n => distinctApps.All(ap => ap.App != n.Search.App));
            System.IO.File.WriteAllText(
                Path.Combine(LocalStorageContainer, $"{AppUserState.Wgs}{AppUserState.Ds}{AppUserState.UserId}"),
                JsonConvert.SerializeObject(hvm));
            foreach (var tile in hvm.PinnedTiles.UserTiles)
            {
                //if (tile.Search.IncludeCount)
                //{
                tile.Count = conn.CountWeb(tile.Search, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
            }
            // }
            return(PartialView("_PinnedTiles", hvm));
        }
Пример #17
0
      public string GetLinkEditorEdit([FromUri] RecordRequest recordRequest)
      {
          var conn = new InforConnection(tu: _tu, tup: _tup);
          var id   = recordRequest.Id;

          var ip       = Request.UserHostName;
          var compName = Classes.Helpers.DetermineCompName(ip);

          var fileName = conn.GetRecordDocumentWeb((long)id, true, AppUserState.UserName,
                                                   AppUserState.Wgs, AppUserState.Ds).ToLower();

          return(fileName);
      }
Пример #18
0
        public PartialViewResult RefreshProcessTile(long uri)
        {
            var hvm = new ProcessTileViewModel();

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn = new InforConnection(tu: _tu, tup: _tup);

            hvm.Process = conn.GetProcessWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
            return(PartialView("/Views/Process/_ProcessTile.cshtml", hvm));
        }
Пример #19
0
        public JsonResult GetInforPropsForParentForRecord(long uri, InforProp parent)
        {
            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn  = new InforConnection(tu: _tu, tup: _tup);
            var rec   = conn.GetRecordWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
            var props = parent == null?conn.GetPropertiesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, InforObjectype.Record, null, rec, true) :
                            conn.GetPropertiesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, parent.Type, parent, rec, true);

            return(this.Jsonp(props));
        }
Пример #20
0
        public PartialViewResult InforPropsForPartial(InforProp parent)
        {
            var conn = new InforConnection(reportServerAddress: _reportserverUrl, tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(PartialView("Properties", new InforPropsViewModel()));
            }
            var hvm = new InforPropsViewModel {
                Properties = parent == null?conn.GetPropertiesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, InforObjectype.Record, null) : conn.GetPropertiesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, parent.Type, parent)
            };

            return(PartialView("Properties", hvm));
        }
Пример #21
0
        public PartialViewResult Index()
        {
            var conn = new InforConnection(reportServerAddress: _reportserverUrl, tu: _tu, tup: _tup);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                RedirectToAction("LogOff", "Auth");
            }
            var hvm = new ReportConfigViewModel {
                SavedSearches = conn.GetSavedSearchesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds)
            };

            return(PartialView("Index", hvm));
        }
Пример #22
0
        public JsonResult FilterInforProps(string filter)
        {
            var conn     = new InforConnection(reportServerAddress: _reportserverUrl, tu: _tu, tup: _tup);
            var retprops = new InforProps();

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var props = conn.GetPropertiesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, InforObjectype.Record, null);

            retprops.AddRange(props.Where(p => p.Caption.Contains(filter)).ToList());
            return(this.Jsonp(retprops));
        }
Пример #23
0
      public FileResult DownloadEdit([FromUri] RecordRequest recordRequest)
      {
          var conn = new InforConnection(tu: _tu, tup: _tup);
          var id   = recordRequest.Id;

          var ip = Request.UserHostName;
          //var compName = Classes.Helpers.DetermineCompName(ip);

          var fileName = conn.DownloadRecordDocumentWeb((long)id, true, AppUserState.UserName,
                                                        AppUserState.Wgs, AppUserState.Ds, ip).ToLower();
          var rec = conn.GetRecordWeb((long)id, AppUserState.UserName,
                                      AppUserState.Wgs, AppUserState.Ds);

          return(id != null?File(fileName, MimeMapping.GetMimeMapping(fileName), rec.SuggestedFileName) : null);
      }
Пример #24
0
      public void Upload(long uri)
      {
          for (var i = 0; i < Request.Files.Count; i++)
          {
              var file = Request.Files[i];

              var fileName = Path.GetFileName(file.FileName);
              var path     = Path.Combine(@"C:\\inetpub\\wwwroot\\wopi\\files\\Checkin", fileName);
              file.SaveAs(path);

              var conn = new InforConnection(tu: _tu, tup: _tup);
              conn.CheckinDocumentWeb(uri, AppUserState.UserName,
                                      AppUserState.Wgs, AppUserState.Ds, path);
          }
      }
Пример #25
0
        public PartialViewResult RefreshRecordTile(long uri)
        {
            var hvm = new RecordTileViewModel();

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn = new InforConnection(tu: _tu, tup: _tup);

            hvm.Record =
                ((InforRecord)conn.GetRecordWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds))
                .ToLite();
            return(PartialView("_RecordTile", hvm));
        }
Пример #26
0
        public PartialViewResult GetPropertiesView(long uri)
        {
            var hvm = new PropertiesViewModel();

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn = new InforConnection(tu: _tu, tup: _tup);
            var rec  = (InforRecord)conn.GetRecordWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);

            hvm.RecordNumber = rec.RecordNumber;
            hvm.RecordUri    = rec.Uri;
            hvm.Title        = rec.Title;
            hvm.Properties   = rec.Properties;
            return(PartialView("_Properties", hvm));
        }
Пример #27
0
        public PartialViewResult InforPropsForRecordForPartial(long uri, InforProp parent)
        {
            var conn = new InforConnection(tu: _tu, tup: _tup);
            var rec  = conn.GetRecordWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(PartialView(@"~/views/Reports/Properties.cshtml", new InforPropsViewModel()));
            }

            var hvm = new InforPropsViewModel {
                Properties = (parent == null ?  conn.GetPropertiesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, InforObjectype.Record, null, rec, true) :
                              conn.GetPropertiesWeb(AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds, parent.Type, parent, rec, true)) as InforProps, IncludeAddButton = true
            };

            return(PartialView(@"~/views/Reports/Properties.cshtml", hvm));
        }
Пример #28
0
        public PartialViewResult RecordClicked(int id, bool verticalTrees)
        {
            var hvm = new SearchResultsViewModel();

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn  = new InforConnection(tu: _tu, tup: _tup);
            var recs  = conn.GetRecordChildrenWeb(id, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
            var lites = new InforRecordsLite();

            lites.AddRange(recs.Select(rec => rec as InforRecordLite));
            hvm.Results      = lites;
            hvm.VerticalTree = verticalTrees;
            return(PartialView("_SearchResults", hvm));
        }
Пример #29
0
        public PartialViewResult ReassPartialViewResult(long id, long addBelow, long addAbove, long processUri)
        {
            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var      conn               = new InforConnection(tu: _tu, tup: _tup);
            DateTime?duedate            = null;
            var      uri                = id;
            long     currentLocationUri = -1;
            var      currentLocation    = "";

            if (id > -1)
            {
                var process = conn.GetProcessWeb(id, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);
                duedate            = process.DueDate;
                uri                = process.Uri;
                currentLocationUri = process.Location.UserId;
                currentLocation    = process.Location.Name;
            }

            var rec = (InforRecord)conn.GetRecordWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);

            //var lcoationresult = LocationService.GetLocations(AppUserState.Wgs, AppUserState.Ds, AppUserState.UserName, SearchType.ProcessAll, 0);
            //if (lcoationresult.Faults.Any())
            //{
            //    ErrorDisplay.ShowError(lcoationresult.Faults[0].Message);
            //    return PartialView("/Views/Process/_Reassign.cshtml", _reasignLocationViewModelViewModel);
            //}
            _reasignLocationViewModelViewModel.ProcessUri          = processUri;
            _reasignLocationViewModelViewModel.AddAbove            = addAbove;
            _reasignLocationViewModelViewModel.AddBelow            = addBelow;
            _reasignLocationViewModelViewModel.NodeUri             = uri;
            _reasignLocationViewModelViewModel.CurrentNodeDueDate  = duedate;
            _reasignLocationViewModelViewModel.TxtBoxTitle         = "Select Location";
            _reasignLocationViewModelViewModel.ShowExternal        = true;
            _reasignLocationViewModelViewModel.ShowInternal        = true;
            _reasignLocationViewModelViewModel.CurrentLocationUri  = currentLocationUri;
            _reasignLocationViewModelViewModel.CurrentLocationName = currentLocation;
            _reasignLocationViewModelViewModel.Title        = rec.Title;
            _reasignLocationViewModelViewModel.RecordNumber = rec.RecordNumber;
            //_reasignLocationViewModelViewModel.Locations = (InforLocations)lcoationresult.ReturnObject;
            return(PartialView("/Views/Process/_Reassign.cshtml", _reasignLocationViewModelViewModel));
        }
Пример #30
0
        public PartialViewResult GetNotesView(long uri, long processUri)
        {
            var hvm = new NotesViewModel();

            if (AppUserState == null || AppUserState.Connected == false)
            {
                return(null);
            }
            var conn = new InforConnection(tu: _tu, tup: _tup);
            var rec  = (InforRecord)conn.GetRecordWeb(uri, AppUserState.UserName, AppUserState.Wgs, AppUserState.Ds);

            hvm.RecordNumber = rec.RecordNumber;
            hvm.RecordUri    = rec.Uri;
            hvm.Title        = rec.Title;
            hvm.Notes        = rec.DisplayNotes;
            hvm.ReadOnly     = !rec.CanAddToNotes;
            hvm.ProcessUri   = processUri;
            return(PartialView("_Notes", hvm));
        }