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);
        }
Beispiel #2
0
        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));
        }
Beispiel #3
0
        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);
        }