Exemple #1
0
        public PartialViewResult Update(int webOrderRequestId, int webCooperatorId, string statusCode, string actionNote)
        {
            TempData["page_title"] = "Review";
            ResultContainer        resultContainer  = null;
            WebOrderRequest        webOrderRequest  = new WebOrderRequest();
            List <WebOrderRequest> webOrderRequests = null;
            GRINGlobalService      service          = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            webOrderRequest.ID = webOrderRequestId;
            webOrderRequest.WebCooperatorID = webCooperatorId;
            webOrderRequest.StatusCode      = statusCode;
            webOrderRequest.Note            = actionNote;

            resultContainer = service.UpdateWebOrderRequest(webOrderRequest);
            //webOrderRequests = service.GetWebOrderRequests("NRR_FLAGGED");
            return(PartialView("~/Views/GRINGlobal/WebOrder/_List.cshtml", webOrderRequests));
        }
Exemple #2
0
        public ActionResult Edit(WebOrderRequestEditViewModel viewModel)
        {
            string            emailRecipientList = String.Empty;
            ResultContainer   resultContainer    = null;
            GRINGlobalService grinGlobalService  = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            SmtpService       smtpService        = new SmtpService();

            try
            {
                WebOrderRequest webOrderRequest = new WebOrderRequest();
                webOrderRequest.ID         = viewModel.ID;
                webOrderRequest.StatusCode = viewModel.Action;

                if (viewModel.Action == OrderRequestAction.NRRReviewEnd)
                {
                    grinGlobalService.SetReviewStatus(viewModel.ID, AuthenticatedUser.Cooperator.WebCooperator.ID, false);
                }
                else
                {
                    if ((viewModel.Action != "NRR_NOTE") && (viewModel.Action != "NRR_INFO"))
                    {
                        resultContainer = grinGlobalService.UpdateWebOrderRequest(webOrderRequest);
                    }
                    resultContainer = grinGlobalService.AddWebOrderRequestAction(new WebOrderRequestAction {
                        WebOrderRequestID = viewModel.ID, ActionCode = viewModel.Action, Note = viewModel.ActionNote, CreatedByCooperatorID = AuthenticatedUser.WebUserID
                    });

                    if (viewModel.Action == "NRR_APPROVE")
                    {
                        emailRecipientList = grinGlobalService.GetEmailNotificationList(viewModel.ID);
                        grinGlobalService.SendEmail(viewModel.ID, "CAP", emailRecipientList);
                        resultContainer = grinGlobalService.AddWebOrderRequestAction(new WebOrderRequestAction {
                            WebOrderRequestID = viewModel.ID, ActionCode = viewModel.Action, Note = viewModel.ActionNote, CreatedByCooperatorID = AuthenticatedUser.WebUserID
                        });
                    }
                    else
                    if (viewModel.Action == "NRR_REJECT")
                    {
                        emailRecipientList = grinGlobalService.GetEmailNotificationList(viewModel.ID);
                        grinGlobalService.SendEmail(viewModel.ID, "CCL", emailRecipientList);
                        grinGlobalService.SendEmail(viewModel.ID, "RRJ", viewModel.WebCooperator.EmailAddress);
                        resultContainer = grinGlobalService.AddWebOrderRequestAction(new WebOrderRequestAction {
                            WebOrderRequestID = viewModel.ID, ActionCode = viewModel.Action, Note = viewModel.ActionNote, CreatedByCooperatorID = AuthenticatedUser.WebUserID
                        });
                    }
                    else
                    if (viewModel.Action == "NRR_INFO")
                    {
                        grinGlobalService.SendEmail(viewModel.ID, "RQI", viewModel.WebCooperator.EmailAddress);
                    }

                    if (resultContainer.ResultCode == ResultContainer.ResultCodeValue.Error.ToString())
                    {
                        throw new Exception("Error sending mail: " + resultContainer.ResultMessage + resultContainer.ResultDescription);
                    }
                }
                if ((viewModel.Action != "NRR_NOTE") && (viewModel.Action != "NRR_INFO"))
                {
                    return(RedirectToAction("Index", "WebOrder"));
                }
                else
                {
                    return(RedirectToAction("Edit", "WebOrder", new { id = viewModel.ID }));
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                return(RedirectToAction("InternalServerError", "Error"));
            }
        }
        public ActionResult Edit(WebOrderRequestEditViewModel viewModel)
        {
            ResultContainer   resultContainer   = null;
            GRINGlobalService grinGlobalService = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            SmtpService       smtpService       = new SmtpService();

            try
            {
                WebOrderRequest webOrderRequest = new WebOrderRequest();
                webOrderRequest.ID         = viewModel.ID;
                webOrderRequest.StatusCode = viewModel.Action;

                if (viewModel.Action == OrderRequestAction.NRRReviewEnd)
                {
                    grinGlobalService.SetReviewStatus(viewModel.ID, AuthenticatedUser.WebCooperatorID, false);
                }
                else
                {
                    if (viewModel.Action != "NRR_NOTE")
                    {
                        resultContainer = grinGlobalService.UpdateWebOrderRequest(webOrderRequest);
                    }
                    resultContainer = grinGlobalService.AddWebOrderRequestAction(new WebOrderRequestAction {
                        WebOrderRequestID = viewModel.ID, ActionCode = viewModel.Action, Note = viewModel.ActionNote, CreatedByCooperatorID = AuthenticatedUser.WebCooperatorID
                    });

                    EmailMessage emailMessage = new EmailMessage();
                    emailMessage.SenderAddress = "*****@*****.**";
                    emailMessage.IsHtmlFormat  = true;

                    if (viewModel.Action == "NRR_APPROVE")
                    {
                        emailMessage.RecipientAddress = "*****@*****.**";
                        emailMessage.Subject          = "NRR Review Update: Order #" + webOrderRequest.ID + " Approved";
                        emailMessage.Body             = "Order # " + webOrderRequest.ID + " has been approved. You may now process it normally via the Order Wizard.";
                        smtpService.SendMessage(emailMessage);
                    }
                    else
                    if (viewModel.Action == "NRR_REJECT")
                    {
                        // EMAIL TO REQUESTOR
                        //emailMessage.RecipientAddress = viewModel.WebCooperator.EmailAddress;
                        emailMessage.RecipientAddress = "*****@*****.**";
                        emailMessage.Subject          = "Your Germplasm Request (Order #" + webOrderRequest.ID + ")";

                        System.Text.StringBuilder sbEmailBody = new System.Text.StringBuilder();
                        sbEmailBody.Append("Dear Germplasm Requestor,<p>Thank you for your interest in our germplasm collection.The mission of the National Plant Germplasm System(NPGS)");
                        sbEmailBody.Append("is to provide materials in small quantities to research and education entities when genetic diversity or genetic standards are a");
                        sbEmailBody.Append("requirement.The accessions maintained by NPGS are not intended for home or personal use that can");
                        sbEmailBody.Append("be better served by commercially - available varieties.");
                        sbEmailBody.Append("*** PLACEHOLDER FOR TEMPLATE TEXT ***");
                        emailMessage.Body = sbEmailBody.ToString();
                        smtpService.SendMessage(emailMessage);

                        // EMAIL TO CURATORS
                        emailMessage.RecipientAddress = "*****@*****.**";
                        emailMessage.Subject          = "NRR Review Update: Order " + webOrderRequest.ID + " Canceled";
                        emailMessage.Body             = "Order # " + webOrderRequest.ID + " has been determined to be a Non-Research Request (NRR), and has been cancelled. You may reference this order within the Order Wizard.";
                        smtpService.SendMessage(emailMessage);
                    }
                }
                if (viewModel.Action != "NRR_NOTE")
                {
                    return(RedirectToAction("Index", "WebOrder"));
                }
                else
                {
                    return(RedirectToAction("Edit", "WebOrder", new { id = viewModel.ID }));
                }
            }
            catch (Exception ex)
            {
                log.Error(ex.Message, ex);
                //TO DO: CHANGE
                return(View("~/Views/GRINGlobal/WebOrder/Index.cshtml"));
            }
        }