public DoIncomingViewModel SaveIncomingMailboxUpdate(DoIncomingViewModel doc) { DoIncomingViewModel result = new DoIncomingViewModel(); /* * var newDocAssgn = new MailboxDocument(); * newDocAssgn = ToModel(doc); * try * { * var tmp = db.MailboxDocumentList.FirstOrDefault(item => item.MailboxDocumentId == doc.AssignmentId); * if (doc.DocumentStatus == "Asignar") { * var tmpAssgnTo = Newtonsoft.Json.JsonConvert.DeserializeObject<List<Models.PeoplePickerUser>>(newDocAssgn.AssignedTo); * tmp.AssignedTo = newDocAssgn.AssignedTo; * tmp.AssignedToName = tmpAssgnTo[0].Name; * tmp.AssignedToAccount = tmpAssgnTo[0].Login; * tmp.DocumentSummary = tmp.DocumentSummary + "||" + doc.NewAnnotations; * tmp.AssignedBy = newDocAssgn.AssignedBy.Split('/')[0]; * tmp.AssignedByName = newDocAssgn.AssignedBy.Split('/')[1]; * tmp.AssignedToCC = newDocAssgn.AssignedToCC; * tmp.DocumentStatus = newDocAssgn.DocumentStatus; * var tmpCCName = string.Empty; * if (!string.IsNullOrEmpty(newDocAssgn.AssignedToCC)) * { * var tmpAssgnToCC = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PeoplePickerUser>>(newDocAssgn.AssignedToCC); * foreach (PeoplePickerUser user in tmpAssgnToCC) * tmpCCName += user.Login + ";"; * } * tmp.AssignedToCCName = tmpCCName; * db.SaveChanges(); * var tmpAction = new MailboxDetails(); * tmpAction.ActionName = doc.DocumentStatus; * tmpAction.AssignedBy = tmp.AssignedBy; * tmpAction.AssignedByName = tmp.AssignedByName; * tmpAction.AssignedTo = tmpAssgnTo[0].Login; * tmpAction.AssignedToName = tmpAssgnTo[0].Name; * tmpAction.AssignmentDate = tmp.AssignmentDate; * tmpAction.MailboxDocumentId = tmp.MailboxDocumentId; * tmpAction.Annotations = string.Empty; * db.MailboxDetailsList.Add(tmpAction); * } * else * { * tmp.DocumentSummary = tmp.DocumentSummary + "||" + newDocAssgn.DocumentSummary; * tmp.DocumentStatus = "Atendido"; * db.SaveChanges(); * var tmpAction = new MailboxDetails(); * tmpAction.ActionName = doc.DocumentStatus; * tmpAction.AssignedBy = tmp.AssignedBy; * tmpAction.AssignedByName = tmp.AssignedByName; * tmpAction.AssignmentDate = tmp.AssignmentDate; * tmpAction.MailboxDocumentId = tmp.MailboxDocumentId; * tmpAction.Annotations = doc.NewAnnotations; * db.MailboxDetailsList.Add(tmpAction); * } * db.SaveChanges(); * } * catch (Exception ex) { } * result = ToViewModelDo(newDocAssgn);*/ return(result); }
public ActionResult DoIncoming(int documentId) { var result = new DoIncomingViewModel(); //var helper = new Models.IntranetAppsDBHelper(); //var tmp = helper.GetMailboxDocument(documentId); //result.AssignedBy = tmp.AssignedBy; //result.AssignedTo = tmp.AssignedTo; //result.AssignmentDate = tmp.AssignmentDate; //result.DocLibrary = tmp.DocLibrary; //result.DocumentDate = tmp.DocumentDate; //result.DocumentSubject = tmp.DocumentSubject; //result.ListItemId = tmp.ListItemId; //result.DocumentSummary = tmp.DocumentSummary; //result.SiteUrl = tmp.SiteUrl; //result.Title = tmp.Title; //result.ListItemId = tmp.ListItemId; //result.AssignmentId = tmp.AssignmentId; //result.DocumentURL = tmp.DocumentURL; //result.AssignedToCC = tmp.AssignedToCC; 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"); 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)); }
private MailboxDocument ToModel(DoIncomingViewModel doc) { var result = new MailboxDocument(); result.AssignedBy = doc.AssignedBy; result.AssignedTo = doc.AssignedTo; result.AssignmentDate = doc.AssignmentDate; result.DocLibrary = doc.DocLibrary; result.DocumentDate = doc.DocumentDate; result.DocumentTitle = doc.DocumentSubject; result.ListItemId = doc.ListItemId; result.DocumentSummary = doc.DocumentSummary; result.SiteUrl = doc.SiteUrl; result.Title = doc.Title; result.ListItemId = doc.ListItemId; result.MailboxDocumentId = doc.AssignmentId; result.DocumentURL = doc.DocumentURL; result.AssignedToCC = doc.AssignedToCC; result.DocumentStatus = doc.DocumentStatus; return(result); }