public ActionResult IncomingList() { var strLogin = string.Empty; var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext); using (var clientContext = spContext.CreateUserClientContextForSPHost()) { if (clientContext != null) { var spUser = clientContext.Web.CurrentUser; clientContext.Load(spUser, user => user.Title, user => user.LoginName); clientContext.ExecuteQuery(); strLogin = spUser.LoginName; ViewBag.UserName = spUser.Title; } } var helper = new Models.IntranetAppsDBHelper(); var result = new IncomingListViewModel(); try { result.MailboxDocumentList = helper.GetMyMailboxDocuments(strLogin); } catch (Exception ex) { result.ErrorMessage = "Ocurrió un error al obtener los movimientos del documento. Por favor regrese al portal e intente nuevamente."; } return(View(result)); }
public ActionResult DoIncoming(DoIncomingViewModel document) { var result = new DoIncomingViewModel(); var statusList = new List <SelectListItem>(); statusList.Add(new SelectListItem() { Text = "Asignar", Value = "Asignar" }); statusList.Add(new SelectListItem() { Text = "Atender", Value = "Atender" }); ViewBag.StatusList = new SelectList(statusList, "Value", "Text"); try { var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext); using (var clientContext = spContext.CreateUserClientContextForSPHost()) { if (clientContext != null) { var spUser = clientContext.Web.CurrentUser; clientContext.Load(spUser, user => user.Title, user => user.LoginName); clientContext.ExecuteQuery(); document.AssignedBy = string.Format("{0}/{1}", spUser.LoginName, spUser.Title); ViewBag.UserName = spUser.Title; } } var helper = new Models.IntranetAppsDBHelper(); helper.SaveIncomingMailboxUpdate(document); var tmpAssgnTo = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Models.PeoplePickerUser> >(document.AssignedTo); var tmpAssgnToCC = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Models.PeoplePickerUser> >(document.AssignedToCC); var ccList = new List <string>(); for (var i = 0; i < tmpAssgnToCC.Count; i++) { ccList.Add(tmpAssgnToCC[i].Email); } var strBody = string.Format("<p>Estimado <b>{0}</b>,</p><p>Se le ha asignado el documento <a href='{1}'>{2}</a> de <b>Correspondencia Interna</b> en la Intranet.<br/></p><p>Referente a: <br/><span style='font-style:italic'>{3}</span></p><p>Atentamente,<br/></p><p><b>Intranet IC Power</b></p>", tmpAssgnTo[0].Name, document.DocumentURL, document.DocumentSubject, document.NewAnnotations); new Utils.EmailHelper().SendEmail("*****@*****.**", tmpAssgnTo[0].Email, ccList.ToArray(), "Intranet - Correspondencia Entrante", strBody); result.ConfirmMessage = "Los cambios se grabaron con éxito. Se le redirigirá pronto al portal."; } catch (Exception ex) { result.ErrorMessage = "Ocurrió un error al grabar los cambios. Por favor regrese al portal e intente nuevamente."; } ViewBag.PreviousPage = "https://icpower.sharepoint.com"; return(View(result)); }
public ActionResult MailboxDetails(MailboxDetailsViewModel inModel) { var helper = new Models.IntranetAppsDBHelper(); var result = new MailboxDetailsViewModel(); try { result.Details = helper.GetMyMailboxDetails(inModel.DocumentId); } catch (Exception ex) { result.ErrorMessage = "Ocurrió un error al obtener los movimientos del documento. Por favor regrese al portal e intente nuevamente."; } return(PartialView(result)); }
public ActionResult Assign(PendingDocumentViewModel pendingDoc) { if (!string.IsNullOrEmpty(Request.QueryString["SPHostUrl"])) { pendingDoc.SiteUrl = Request.QueryString["SPHostUrl"]; } if (!string.IsNullOrEmpty(Request.QueryString["SPListId"])) { pendingDoc.DocLibrary = Request.QueryString["SPListId"]; } if (!string.IsNullOrEmpty(Request.QueryString["SPListItemId"])) { pendingDoc.ListItemId = Convert.ToInt32(Request.QueryString["SPListItemId"]); } var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext); using (var clientContext = spContext.CreateUserClientContextForSPHost()) { if (clientContext != null) { ListItem spItem = clientContext.Web.Lists.GetById(new Guid(pendingDoc.DocLibrary)).GetItemById(pendingDoc.ListItemId); clientContext.Load(spItem, item => item.Client_Title, item => item.File); var spUser = clientContext.Web.CurrentUser; clientContext.Load(spUser, user => user.Title, user => user.LoginName); var spWeb = clientContext.Web; clientContext.Load(spWeb, web => web.Title); var spLibrary = clientContext.Web.Lists.GetById(new Guid(pendingDoc.DocLibrary)); clientContext.Load(spLibrary, library => library.Title); clientContext.ExecuteQuery(); pendingDoc.Title = string.IsNullOrEmpty(spItem.File.Title) ? spItem.File.Name : spItem.File.Title; pendingDoc.DocumentURL = spItem.File.LinkingUrl; pendingDoc.AssignedBy = string.Format("{0}/{1}", spUser.LoginName, spUser.Title); ViewBag.UserName = spUser.Title; ViewBag.WebTitle = spWeb.Title; ViewBag.PreviousPage = clientContext.Url; ViewBag.DocLibraryTitle = spLibrary.Title; } } pendingDoc.AssignmentDate = DateTime.Now; var helper = new Models.IntranetAppsDBHelper(); if (pendingDoc.AssignmentId == 0) // first page load { var tmp = helper.GetDocAssignment(pendingDoc); if (tmp.AssignmentId == 0) { pendingDoc.DueTo = DateTime.Today; pendingDoc.IsModified = false; pendingDoc = helper.SaveDocAssignment(pendingDoc); } else { var tmpTitle = pendingDoc.Title; var tmpURL = pendingDoc.DocumentURL; var tmpAssignedBy = pendingDoc.AssignedBy; pendingDoc = tmp; pendingDoc.Title = tmpTitle != tmp.Title ? tmpTitle : tmp.Title; pendingDoc.DocumentURL = tmpURL != tmp.DocumentURL ? tmpURL : tmp.DocumentURL; pendingDoc.AssignedBy = tmpAssignedBy != tmp.AssignedBy ? tmpAssignedBy : tmp.AssignedBy; pendingDoc.WarningMessage = "El documento se encuentra asignado. Si continua va a sobreescribir la asignación actual"; } } else // submit form { pendingDoc.IsModified = true; try { pendingDoc = helper.SaveDocAssignment(pendingDoc); var tmpAssgnTo = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Models.PeoplePickerUser> >(pendingDoc.AssignedTo); var strBody = string.Format("<p>Estimado <b>{0}</b>,</p><br/><p>Se le ha asignado el documento <a href='{1}'>{2}</a> en la Intranet cuyo vencimiento es el <b>{3:dd/MM/yyyy}</b>.<br/></p><p>Atentamente,<br/></p><p><b>Intranet IC Power</b></p>", tmpAssgnTo[0].Name, pendingDoc.DocumentURL, pendingDoc.Title, pendingDoc.DueTo); new Utils.EmailHelper().SendEmail("*****@*****.**", tmpAssgnTo[0].Email, null, "Intranet - Documento Asignado", strBody); pendingDoc.ConfirmMessage = "Los cambios se grabaron con éxito. Se le redirigirá pronto al portal."; } catch (Exception ex) { pendingDoc.ErrorMessage = "Ocurrió un error al grabar los cambios. Por favor regrese al portal e intente nuevamente."; } } return(View(pendingDoc)); }