Ejemplo n.º 1
0
        public ActionResult EmailTemplateEdit(int id)
        {
            TempData["page_title"] = "Edit Email Template";
            GRINGlobalService          grinGlobalService          = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            EmailTemplateEditViewModel emailTemplateEditViewModel = new EmailTemplateEditViewModel();
            EmailTemplate emailTemplate = new EmailTemplate();

            try
            {
                emailTemplate = grinGlobalService.GetEmailTemplate(id);
                if (emailTemplate == null)
                {
                    throw new NullReferenceException(String.Format("No email template found for id {0}", id));
                }
                emailTemplateEditViewModel.ID                       = emailTemplate.ID;
                emailTemplateEditViewModel.Title                    = emailTemplate.Title;
                emailTemplateEditViewModel.SenderAddress            = emailTemplate.From;
                emailTemplateEditViewModel.Subject                  = emailTemplate.Subject;
                emailTemplateEditViewModel.Body                     = emailTemplate.Body;
                emailTemplateEditViewModel.CreatedDate              = emailTemplate.CreatedDate;
                emailTemplateEditViewModel.CreatedByCooperatorID    = emailTemplate.CreatedByCooperatorID;
                emailTemplateEditViewModel.CreatedByCooperatorName  = emailTemplate.CreatedByCooperatorName;
                emailTemplateEditViewModel.ModifiedDate             = emailTemplate.ModifiedDate;
                emailTemplateEditViewModel.ModifiedByCooperatorID   = emailTemplate.ModifiedByCooperatorID;
                emailTemplateEditViewModel.ModifiedByCooperatorName = emailTemplate.ModifiedByCooperatorName;
                return(View("~/Views/GRINGlobal/WebOrder/Email/Edit.cshtml", emailTemplateEditViewModel));
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                return(RedirectToAction("InternalServerError", "Error"));
            }
        }
Ejemplo n.º 2
0
        public PartialViewResult _EmailTemplateView(int id)
        {
            TempData["page_title"] = "View Email Template";
            GRINGlobalService          grinGlobalService          = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            EmailTemplateEditViewModel emailTemplateEditViewModel = new EmailTemplateEditViewModel();
            EmailTemplate emailTemplate = new EmailTemplate();

            try
            {
                emailTemplate = grinGlobalService.GetEmailTemplate(id);
                if (emailTemplate == null)
                {
                    throw new NullReferenceException(String.Format("No email template found for id {0}", id));
                }
                emailTemplateEditViewModel.ID            = emailTemplate.ID;
                emailTemplateEditViewModel.Title         = emailTemplate.Title;
                emailTemplateEditViewModel.SenderAddress = emailTemplate.From;
                emailTemplateEditViewModel.Subject       = emailTemplate.Subject;
                emailTemplateEditViewModel.Body          = emailTemplate.Body;
                return(PartialView("~/Views/GRINGlobal/WebOrder/Email/_Detail.cshtml", emailTemplateEditViewModel));
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                return(PartialView("~/Views/Error/_Error.cshtml"));
            }
        }
Ejemplo n.º 3
0
        public JsonResult Validate(string values)
        {
            FileMetaData      imageFileMetaData          = new FileMetaData();
            FileMetaData      thumbnailImageFileMetaData = new FileMetaData();
            GRINGlobalService _grinGlobalService         = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            try
            {
                string[] valueList = values.Split(',');
                foreach (var id in valueList)
                {
                    AccessionInventoryAttachment accessionInventoryAttachment = _grinGlobalService.GetAccessionInventoryAttachment(Int32.Parse(id));

                    if (accessionInventoryAttachment.ThumbnailImageURLIsValid < 0)
                    {
                        if (!String.IsNullOrEmpty(accessionInventoryAttachment.VirtualPath))
                        {
                            imageFileMetaData = _grinGlobalService.GetFileMetaData(accessionInventoryAttachment.VirtualPath);
                        }

                        if (!String.IsNullOrEmpty(accessionInventoryAttachment.ThumbnailVirtualPath))
                        {
                            thumbnailImageFileMetaData = _grinGlobalService.GetFileMetaData(accessionInventoryAttachment.ThumbnailVirtualPath);
                        }
                        _grinGlobalService.AddValidationRecord(accessionInventoryAttachment.ID, imageFileMetaData.IsValid, thumbnailImageFileMetaData.IsValid);
                    }
                }
            }
            catch (Exception ex)
            {
                return(Json(new { success = false }, JsonRequestBehavior.AllowGet));
            }
            return(Json(new { success = true }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 4
0
        public PartialViewResult ErrorAccessionInventoryAttachments()
        {
            AccessionInventoryAttachmentListViewModel viewModel = new AccessionInventoryAttachmentListViewModel();
            GRINGlobalService _grinGlobalService = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            viewModel.AccessionInventoryAttachments = _grinGlobalService.GetAccessionInventoryAttachments(200, "ER");
            return(PartialView("~/Views/GRINGlobal/Inventory/AccessionInventoryAttachment/_ErrorList.cshtml", viewModel));
        }
        public ActionResult Search(WebOrderRequestSearchViewModel webOrderRequestSearchViewModel)
        {
            GRINGlobalService grinGlobalService = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            Models.Query query = new Models.Query();

            try
            {
                //if (webOrderRequestSearchViewModel.SelectedStatusCode != "ANY")
                //{
                //    QueryCriterion queryCriterion = new QueryCriterion { FieldName = "wor.status_code", FieldValue = webOrderRequestSearchViewModel.SelectedStatusCode, SearchOperatorCode = "=", DataType = "NVARCHAR" };
                //    query.QueryCriteria.Add(queryCriterion);
                //}

                //if (webOrderRequestSearchViewModel.SelectedTimeFrameCode > 0)
                //{
                //    QueryCriterion queryCriterion = new QueryCriterion { FieldName = "time_frame_code", FieldValue = webOrderRequestSearchViewModel.SelectedTimeFrameCode.ToString(), SearchOperatorCode = "=", DataType = "INT" };
                //    query.QueryCriteria.Add(queryCriterion);
                //}

                if (!String.IsNullOrEmpty(webOrderRequestSearchViewModel.RequestorEmailAddress))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.email", FieldValue = webOrderRequestSearchViewModel.RequestorEmailAddress.ToString(), SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(webOrderRequestSearchViewModel.RequestorFirstName))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.first_name", FieldValue = webOrderRequestSearchViewModel.RequestorFirstName.ToString(), SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(webOrderRequestSearchViewModel.RequestorLastName))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.last_name", FieldValue = webOrderRequestSearchViewModel.RequestorLastName, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }


                // Re-initialize main index view model, adding search results.
                webOrderRequestSearchViewModel.WebOrderRequests = grinGlobalService.SearchWebOrderRequests(query);
                webOrderRequestSearchViewModel.Statuses         = grinGlobalService.GetWebOrderRequestStatuses();
                webOrderRequestSearchViewModel.IntendedUseCodes = new SelectList(grinGlobalService.GetWebOrderRequestIntendedUseCodes(), "Name", "Description");
                return(View("~/Views/GRINGlobal/WebOrder/Index.cshtml", webOrderRequestSearchViewModel));
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + ex.StackTrace);
                return(View("~/Views/Error/_Error.cshtml"));
            }
        }
        public PartialViewResult _Search(string statusCode, int timeFrameCode, string requestorEmail, string requestorFirstName, string requestorLastName, string intendedUseCode, string selectedDateRange)
        {
            WebOrderRequestListViewModel webOrderRequestListViewModel = new WebOrderRequestListViewModel();
            GRINGlobalService            grinGlobalService            = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            Models.Query query = new Models.Query();

            try
            {
                if (!String.IsNullOrEmpty(requestorEmail))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.email", FieldValue = requestorEmail, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(requestorFirstName))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.first_name", FieldValue = requestorFirstName, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(requestorLastName))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wc.last_name", FieldValue = requestorLastName, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                if (!String.IsNullOrEmpty(intendedUseCode))
                {
                    QueryCriterion queryCriterion = new QueryCriterion {
                        FieldName = "wor.intended_use_code", FieldValue = intendedUseCode, SearchOperatorCode = "LIKE", DataType = "NVARCHAR"
                    };
                    query.QueryCriteria.Add(queryCriterion);
                }

                webOrderRequestListViewModel.WebOrderRequests = grinGlobalService.SearchWebOrderRequests(query);

                return(PartialView("~/Views/GRINGlobal/WebOrder/_List.cshtml", webOrderRequestListViewModel));
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + ex.StackTrace);
                return(PartialView("~/Views/Error/_Error.cshtml"));
            }
        }
Ejemplo n.º 7
0
        public PartialViewResult ValidationStatistics()
        {
            ValidationStatisticsViewModel viewModel          = null;
            GRINGlobalService             _grinGlobalService = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            try
            {
                viewModel = new ValidationStatisticsViewModel(_grinGlobalService.GetValidationCounts());
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + ", " + ex.StackTrace);
            }
            return(PartialView("~/Views/GRINGlobal/Inventory/AccessionInventoryAttachment/_ValidationStatistics.cshtml", viewModel));
        }
Ejemplo n.º 8
0
        //[OutputCache(NoStore = true, Duration = 0, VaryByParam = "*")]
        public PartialViewResult AccessionInventoryAttachments(int batchSize = 0)
        {
            GRINGlobalService _grinGlobalService = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            // TO DO: SET DEFAULT BATCH SIZE FROM USER PREF. (COOKIE?) 8/14/2020
            if (batchSize == 0)
            {
                batchSize = 25;
            }

            AccessionInventoryAttachmentListViewModel viewModel = new AccessionInventoryAttachmentListViewModel();

            viewModel.AccessionInventoryAttachments = _grinGlobalService.GetAccessionInventoryAttachments(batchSize, "NV");
            return(PartialView("~/Views/GRINGlobal/Inventory/AccessionInventoryAttachment/_List.cshtml", viewModel));
        }
Ejemplo n.º 9
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));
        }
        public ActionResult Index()
        {
            TempData["context"] = "Home";
            GRINGlobalService grinGlobalService      = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            WebOrderRequestSearchViewModel viewModel = new WebOrderRequestSearchViewModel();

            try
            {
                viewModel.Statuses         = grinGlobalService.GetWebOrderRequestStatuses();
                viewModel.IntendedUseCodes = new SelectList(grinGlobalService.GetWebOrderRequestIntendedUseCodes(), "Name", "Description");
                return(View("~/Views/GRINGlobal/WebOrder/Index.cshtml", viewModel));
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + ex.StackTrace);
                return(RedirectToAction("InternalServerError", "Error"));
            }
        }
        public PartialViewResult _List(string status, int timeFrameCode)
        {
            WebOrderRequestListViewModel webOrderRequestListViewModel = new WebOrderRequestListViewModel();

            webOrderRequestListViewModel.AuthenticatedUser = AuthenticatedUser;
            GRINGlobalService service = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            try
            {
                webOrderRequestListViewModel.WebOrderRequests = service.GetWebOrderRequests(status, timeFrameCode);
                return(PartialView("~/Views/GRINGlobal/WebOrder/_List.cshtml", webOrderRequestListViewModel));
            }
            catch (Exception ex)
            {
                log.Error(ex.Message + ex.StackTrace);
                return(PartialView("~/Views/Error/_Error.cshtml"));
            }
        }
Ejemplo n.º 12
0
        public ActionResult Search(int webOrderRequestId = 0, string emailAddress = "", string firstName = "", string lastName = "", string organization = "")
        {
            TempData["page_title"] = "Web Order Request Search";
            WebOrderRequestSearchViewModel webOrderRequestSearchViewModel = new WebOrderRequestSearchViewModel();
            GRINGlobalService service = new GRINGlobalService(this.AuthenticatedUserSession.Environment);

            try
            {
                webOrderRequestSearchViewModel.StatusCodes      = new SelectList(service.GetWebOrderRequestStatuses(), "Name", "Name");
                webOrderRequestSearchViewModel.IntendedUseCodes = new SelectList(service.GetWebOrderRequestIntendedUseCodes(), "Name", "Description");

                if (webOrderRequestId > 0)
                {
                    webOrderRequestSearchViewModel.ID = webOrderRequestId;
                }

                if (!String.IsNullOrEmpty(emailAddress))
                {
                    webOrderRequestSearchViewModel.RequestorEmailAddress = emailAddress;
                }

                if (!String.IsNullOrEmpty(firstName))
                {
                    webOrderRequestSearchViewModel.RequestorFirstName = firstName;
                }

                if (!String.IsNullOrEmpty(lastName))
                {
                    webOrderRequestSearchViewModel.RequestorLastName = lastName;
                }

                if (!String.IsNullOrEmpty(organization))
                {
                    webOrderRequestSearchViewModel.RequestorOrganization = organization;
                }

                return(View("~/Views/GRINGlobal/WebOrder/Search.cshtml", webOrderRequestSearchViewModel));
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                return(RedirectToAction("InternalServerError", "Error"));
            }
        }
Ejemplo n.º 13
0
 public ActionResult EmailTemplateHome()
 {
     TempData["page_title"] = "Email Templates";
     try
     {
         GRINGlobalService          grinGlobalService          = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
         EmailTemplateHomeViewModel emailTemplateHomeViewModel = new EmailTemplateHomeViewModel();
         emailTemplateHomeViewModel.EmailTemplates = grinGlobalService.GetEmailTemplates();
         if (emailTemplateHomeViewModel.EmailTemplates.Count() > 0)
         {
             emailTemplateHomeViewModel.CurrentID = emailTemplateHomeViewModel.EmailTemplates.First().ID;
         }
         return(View("~/Views/GRINGlobal/WebOrder/Email/Index.cshtml", emailTemplateHomeViewModel));
     }
     catch (Exception ex)
     {
         Log.Error(ex, ex.Message);
         return(PartialView("~/Views/Error/_Error.cshtml"));
     }
 }
Ejemplo n.º 14
0
        public ActionResult Index()
        {
            TempData["page_title"] = "Home";
            GRINGlobalService grinGlobalService      = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            WebOrderRequestSearchViewModel viewModel = new WebOrderRequestSearchViewModel();

            try
            {
                viewModel.Statuses = grinGlobalService.GetWebOrderRequestStatuses();
                if (viewModel.Statuses.Count() > 0)
                {
                    viewModel.CurrentID = viewModel.Statuses.First().ID;
                }

                viewModel.IntendedUseCodes = new SelectList(grinGlobalService.GetWebOrderRequestIntendedUseCodes(), "Name", "Description");
                return(View(BASE_PATH + "Index.cshtml", viewModel));
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                return(RedirectToAction("InternalServerError", "Error"));
            }
        }
Ejemplo n.º 15
0
        public ActionResult EmailTemplateEdit(EmailTemplateEditViewModel emailTemplateEditViewModel)
        {
            GRINGlobalService grinGlobalService = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            EmailTemplate     emailTemplate     = new EmailTemplate();
            ResultContainer   resultContainer   = new ResultContainer();

            try
            {
                emailTemplate.ID      = emailTemplateEditViewModel.ID;
                emailTemplate.Title   = emailTemplateEditViewModel.Title;
                emailTemplate.Subject = emailTemplateEditViewModel.Subject;
                emailTemplate.From    = emailTemplateEditViewModel.SenderAddress;
                emailTemplate.To      = emailTemplateEditViewModel.RecipientAddress;
                emailTemplate.Body    = emailTemplateEditViewModel.Body;
                resultContainer       = grinGlobalService.UpdateEmailTemplate(emailTemplate);
                return(RedirectToAction("EmailTemplateEdit", "WebOrder", new { id = emailTemplateEditViewModel.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"));
            }
        }
Ejemplo n.º 17
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"));
            }
        }
Ejemplo n.º 18
0
        private WebOrderRequestEditViewModel GetData(int id, bool reviewMode)
        {
            ResultContainer              resultContainer   = null;
            WebOrderRequest              webOrderRequest   = null;
            GRINGlobalService            grinGlobalService = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            WebOrderRequestEditViewModel viewModel         = new WebOrderRequestEditViewModel();

            try
            {
                if (reviewMode)
                {
                    resultContainer = grinGlobalService.SetReviewStatus(id, AuthenticatedUser.Cooperator.WebCooperator.ID, true);
                    resultContainer = grinGlobalService.AddWebOrderRequestAction(new WebOrderRequestAction {
                        WebOrderRequestID = id, ActionCode = "NRR_REVIEW", CreatedByCooperatorID = AuthenticatedUser.WebUserID
                    });
                }

                webOrderRequest = grinGlobalService.GetWebOrderRequest(id);
                if (webOrderRequest == null)
                {
                    throw new NullReferenceException(String.Format("Null web order request returned for ID {0}", id));
                }
                viewModel.AuthenticatedUser = AuthenticatedUser;
                viewModel.WebCooperatorID   = AuthenticatedUser.Cooperator.WebCooperator.ID;
                viewModel.StatusCode        = webOrderRequest.StatusCode;
                viewModel.OrderDate         = webOrderRequest.OrderDate;
                viewModel.WebCooperator     = webOrderRequest.Cooperators.First();
                viewModel.IsReviewMode      = reviewMode;
                viewModel.IsLocked          = webOrderRequest.IsLocked;
                viewModel.ID                       = webOrderRequest.ID;
                viewModel.OrderDate                = webOrderRequest.OrderDate;
                viewModel.IntendedUseCode          = webOrderRequest.IntendedUseCode;
                viewModel.IntendedUseNote          = webOrderRequest.IntendedUseNote;
                viewModel.Note                     = webOrderRequest.Note;
                viewModel.SpecialInstruction       = webOrderRequest.SpecialInstruction;
                viewModel.OwnedDate                = webOrderRequest.OwnedDate;
                viewModel.OwnedByCooperatorID      = webOrderRequest.OwnedByCooperatorID;
                viewModel.OwnedByCooperatorName    = webOrderRequest.OwnedByCooperatorName;
                viewModel.WebOrderRequestItems     = webOrderRequest.WebOrderRequestItems;
                viewModel.WebOrderRequestAddresses = webOrderRequest.Addresses;
                viewModel.EmailAddressList         = webOrderRequest.EmailAddressList;
                viewModel.EmailTemplates           = grinGlobalService.GetEmailTemplates();

                var queryWebOrderRequestDates =
                    from action in webOrderRequest.WebOrderRequestActions
                    group action by action.ActionDate into webOrderRequestActionGroup
                    orderby webOrderRequestActionGroup.Key descending
                    select webOrderRequestActionGroup;

                foreach (var group in queryWebOrderRequestDates)
                {
                    WebOrderRequestActionGroupViewModel webOrderRequestActionGroupViewModel = new WebOrderRequestActionGroupViewModel();
                    webOrderRequestActionGroupViewModel.ActionDate = DateTime.Parse(group.Key.ToString());
                    foreach (var subGroup in group)
                    {
                        WebOrderRequestAction webOrderRequestAction = new WebOrderRequestAction();
                        webOrderRequestAction.ID                      = subGroup.ID;
                        webOrderRequestAction.ActionCode              = subGroup.ActionCode;
                        webOrderRequestAction.Title                   = subGroup.Title;
                        webOrderRequestAction.Description             = subGroup.Description;
                        webOrderRequestAction.Note                    = subGroup.Note;
                        webOrderRequestAction.ActionDate              = subGroup.ActionDateTime;
                        webOrderRequestAction.CreatedByCooperatorName = subGroup.CreatedByCooperatorName;
                        webOrderRequestActionGroupViewModel.WebOrderRequestActions.Add(webOrderRequestAction);
                    }
                    viewModel.WebOrderRequestActionGroupViewModels.Add(webOrderRequestActionGroupViewModel);
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
            }
            return(viewModel);
        }
Ejemplo n.º 19
0
        public ActionResult Search(FormCollection formCollection)
        {
            GRINGlobalService            grinGlobalService            = new GRINGlobalService(this.AuthenticatedUserSession.Environment);
            WebOrderRequestListViewModel webOrderRequestListViewModel = new WebOrderRequestListViewModel();

            Models.Query query = new Models.Query();

            try
            {
                if (!String.IsNullOrEmpty(formCollection["ID"].Trim()))
                {
                    if (Int32.Parse(formCollection["ID"]) > 0)
                    {
                        query.QueryCriteria.Add(new QueryCriterion {
                            FieldName = "web_order_request_id", SearchOperatorCode = "=", FieldValue = formCollection["ID"], DataType = "INT"
                        });
                    }
                }

                if (!String.IsNullOrEmpty(formCollection["RequestorEmailAddress"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "web_cooperator_email", SearchOperatorCode = "LIKE", FieldValue = formCollection["RequestorEmailAddress"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["RequestorFirstName"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "web_cooperator_first_name", SearchOperatorCode = "LIKE", FieldValue = formCollection["RequestorFirstName"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["RequestorLastName"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "web_cooperator_last_name", SearchOperatorCode = "LIKE", FieldValue = formCollection["RequestorLastName"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["RequestorOrganization"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "web_cooperator_organization", SearchOperatorCode = "LIKE", FieldValue = formCollection["RequestorOrganization"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["IntendedUseCode"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "intended_use_code", SearchOperatorCode = "=", FieldValue = formCollection["IntendedUseCode"], DataType = "NVARCHAR"
                    });
                }

                if (!String.IsNullOrEmpty(formCollection["SelectedStatusCode"]))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "status_code", SearchOperatorCode = "=", FieldValue = formCollection["SelectedStatusCode"], DataType = "NVARCHAR"
                    });
                }

                if ((!String.IsNullOrEmpty(formCollection["SelectedStartDate"])) && (formCollection["SelectedStartDate"].Trim().Length > 0))
                {
                    var DEBUG = formCollection["SelectedStartDate"].Trim().Length;

                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "ordered_date", SearchOperatorCode = ">=", FieldValue = formCollection["SelectedStartDate"], DataType = "DATETIME"
                    });
                }

                if ((!String.IsNullOrEmpty(formCollection["SelectedEndDate"])) && (formCollection["SelectedEndDate"].Trim().Length > 0))
                {
                    query.QueryCriteria.Add(new QueryCriterion {
                        FieldName = "ordered_date", SearchOperatorCode = "<=", FieldValue = formCollection["SelectedEndDate"], DataType = "DATETIME"
                    });
                }

                webOrderRequestListViewModel.WebOrderRequests = grinGlobalService.SearchWebOrderRequests(query);
                return(PartialView(BASE_PATH + "/_SearchResults.cshtml", webOrderRequestListViewModel));
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                return(RedirectToAction("InternalServerError", "Error"));
            }
        }