Example #1
0
        public async Task <ActionResult> ViewOutDoc(OutcomingMailboxViewModel model)
        {
            log.Info("- OutboxDocs - ViewOutDoc:");
            try
            {
                var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
                if (model.TempFile != null)
                {
                    log.Info("Tiene archivo adjunto");
                    var prefix   = model.DBModel.RequestStatus == "Generado" ? "DOC-" : "REC-";
                    var spHelper = new SPHelper();
                    if (model.DBModel.RequestStatus == "Generado")
                    {
                        model.DBModel.DocumentFilename = spHelper.UploadSPFile(spContext, model.TempFile, model.DBModel.DocumentFolder, model.DBModel.SiteUrl, prefix);
                        log.Info(model.DBModel.DocumentFilename);
                    }
                    else
                    {
                        model.DBModel.ReceiptFilename = spHelper.UploadSPFile(spContext, model.TempFile, model.DBModel.DocumentFolder, model.DBModel.SiteUrl, prefix);
                        log.Info(model.DBModel.ReceiptFilename);
                    }
                }
                var tmpSave = await helper.PostOutMailbox(model.DBModel);

                model.ConfirmMessage = "Se ha guardado su información.";
                log.Info("Se ha guardado: " + tmpSave.ToString());
            }
            catch (Exception ex)
            {
                model.ErrorMessage = "Ocurrió un error al guardar su información.";

                log.Error(ex.ToString());
            }
            return(View(model));
        }
Example #2
0
        public async Task <ActionResult> ViewOutDoc(int documentId)
        {
            var result = new OutcomingMailboxViewModel();

            try
            {
                var tmp = await helper.GetOutMailbox(new OutDocumentModel()
                {
                    DocumentId = documentId
                });

                var tmpModel = JsonConvert.DeserializeObject <OutDocumentModel>(tmp);
                if (tmpModel.DocumentId > 0)
                {
                    result.DBModel = tmpModel;
                    if (result.DBModel.RequestStatus == "Recibido")
                    {
                        result.WarningMessage = "El documento se encuentra recibido, no puede realizar modificaciones";
                    }
                }
                else
                {
                    result.ErrorMessage = "No se pudo obtener información.";
                }
                var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
                using (var clientContext = spContext.CreateUserClientContextForSPHost())
                {
                    if (clientContext != null)
                    {
                        var spUser = clientContext.Web.CurrentUser;
                        clientContext.Load(spUser, user => user.Groups);
                        clientContext.ExecuteQuery();

                        var spGroups = spUser.Groups;
                        foreach (var group in spGroups)
                        {
                            if (group.Title == "Correspondencia Saliente Adm")
                            {
                                ViewBag.CanSave = true;
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.ToString());
            }
            return(View(result));
        }
Example #3
0
        public async Task <ActionResult> GenerateCode(OutcomingMailboxViewModel model)
        {
            log.Info(Request.Url);
            log.Info(HttpContext == null);

            log.Info("GenerateCode");
            var companyList = new List <SelectListItem>();

            companyList.Add(new SelectListItem()
            {
                Text = "Kallpa Generación", Value = "Kallpa Generación"
            });
            companyList.Add(new SelectListItem()
            {
                Text = "Cerro del Aguila", Value = "Cerro del Aguila"
            });
            companyList.Add(new SelectListItem()
            {
                Text = "Samay I", Value = "Samay"
            });
            companyList.Add(new SelectListItem()
            {
                Text = "Hidro Chilia", Value = "Hidro Chilia"
            });
            ViewBag.CompanyList = new SelectList(companyList, "Value", "Text");
            var departmentList = new List <SelectListItem>();

            departmentList.Add(new SelectListItem()
            {
                Text = "Todos", Value = "Todos"
            });
            departmentList.Add(new SelectListItem()
            {
                Text = "Administración", Value = "Administración"
            });
            departmentList.Add(new SelectListItem()
            {
                Text = "Contraloría", Value = "Contraloría"
            });
            departmentList.Add(new SelectListItem()
            {
                Text = "Relaciones Comunitarias", Value = "Relaciones Comunitarias"
            });
            ViewBag.DepartmentList = new SelectList(departmentList, "Value", "Text");
            var ccMail = new List <string>();

            try
            {
                var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);
                using (var clientContext = spContext.CreateUserClientContextForSPHost())
                {
                    if (clientContext != null)
                    {
                        var spGroup = clientContext.Web.SiteGroups.GetByName("Correspondencia Saliente Adm");
                        clientContext.Load(spGroup, gr => gr.Users);
                        clientContext.ExecuteQuery();
                        foreach (var spUser in spGroup.Users)
                        {
                            if (!string.IsNullOrEmpty(spUser.Email))
                            {
                                ccMail.Add(spUser.Email);
                            }
                        }
                    }
                }
                var tmpAssgnTo = JsonConvert.DeserializeObject <List <Models.PeoplePickerUser> >(model.DBModel.RequestedByLogin);
                model.DBModel.RequestedByLogin = tmpAssgnTo[0].Login;
                model.DBModel.RequestedByName  = tmpAssgnTo[0].Name;
                model.DBModel.RequestedByEmail = tmpAssgnTo[0].Email;
                model.DBModel.DocumentCode     = await helper.GetDocumentCode(model.DBModel.CompanyName, model.DBModel.DepartmentName, DateTime.Today.Year);

                if (string.IsNullOrEmpty(model.DBModel.DocumentCode))
                {
                    model.WarningMessage = "No se encuentra registrado un correlativo. Por favor, contacte al administrador";
                    return(View(model));
                }
                var spHelper = new SPHelper();
                model.DBModel.DocumentFolder       = spHelper.CreateSPFolder(spContext, "CorSal", model.DBModel.DocumentCode);
                model.DBModel.RequestDate          = DateTime.Now;
                model.DBModel.SentDate             = new DateTime(1900, 1, 1);
                model.DBModel.DeliveryExpectedDate = new DateTime(1900, 1, 1);
                model.DBModel.DeliveryDate         = new DateTime(1900, 1, 1);
                model.DBModel.RequestStatus        = "Generado";
                var tmpSave = await helper.PostOutMailbox(model.DBModel);

                var tmpModel = JsonConvert.DeserializeObject <string>(tmpSave);
                model.DBModel.DocumentId = Convert.ToInt32(tmpModel);
                var strBody = string.Format("<p>Estimado <b>{0}</b>,</p><p>Se ha generado el código <b>{1}</b> de <b>Correspondencia Saliente</b> en la Intranet.<br/></p><p>Atentamente,<br/></p><p><b>Intranet IC Power</b></p>", model.DBModel.RequestedByName, model.DBModel.DocumentCode, model.DBModel.DocumentTitle, model.DBModel.CompanyName);

                new Utils.EmailHelper().SendEmail("*****@*****.**", model.DBModel.RequestedByEmail, ccMail.ToArray(), "Intranet - " + model.DBModel.DocumentCode, strBody);
                model.ConfirmMessage = string.Format("Se ha generado el código: <b>{0}</b>.", model.DBModel.DocumentCode);
            }
            catch (Exception ex)
            {
                log.Error(ex.ToString());
            }

            return(View(model));
        }
Example #4
0
        public ActionResult GenerateCode(string siteUrl)
        {
            var result = new OutcomingMailboxViewModel();

            try
            {
                log.Info("GenerateCode");
                result.DBModel.SiteUrl     = siteUrl;
                result.DBModel.RequestDate = DateTime.Today;
                if (!string.IsNullOrEmpty(Request.QueryString["SPHostUrl"]))
                {
                    result.DBModel.SiteUrl = Request.QueryString["SPHostUrl"];
                }
                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.Groups);
                        clientContext.ExecuteQuery();
                        result.DBModel.RequestedByName = spUser.Title;
                        ViewBag.UserName = spUser.Title;

                        var spGroups = spUser.Groups;
                        foreach (var group in spGroups)
                        {
                            if (group.Title == "Correspondencia Saliente Adm")
                            {
                                ViewBag.CanSave = true;
                                break;
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.ToString());
            }
            var companyList = new List <SelectListItem>();

            companyList.Add(new SelectListItem()
            {
                Text = "Kallpa Generación", Value = "Kallpa Generación"
            });
            companyList.Add(new SelectListItem()
            {
                Text = "Cerro del Aguila", Value = "Cerro del Aguila"
            });
            companyList.Add(new SelectListItem()
            {
                Text = "Samay I", Value = "Samay"
            });
            companyList.Add(new SelectListItem()
            {
                Text = "Hidro Chilia", Value = "Hidro Chilia"
            });
            ViewBag.CompanyList = new SelectList(companyList, "Value", "Text");
            var departmentList = new List <SelectListItem>();

            departmentList.Add(new SelectListItem()
            {
                Text = "Todos", Value = "Todos"
            });
            departmentList.Add(new SelectListItem()
            {
                Text = "Administración", Value = "Administración"
            });
            departmentList.Add(new SelectListItem()
            {
                Text = "Contraloría", Value = "Contraloría"
            });
            departmentList.Add(new SelectListItem()
            {
                Text = "Relaciones Comunitarias", Value = "Relaciones Comunitarias"
            });
            ViewBag.DepartmentList = new SelectList(departmentList, "Value", "Text");
            return(View(result));
        }