Esempio n. 1
0
        public ActionResult SearchRFP(string search)
        {
            var response = new AppResponseModel <RfpOrgViewModel>();

            SearchFilter filter = Session["SearchRfpFilter"] == null ? new SearchFilter() : (SearchFilter)Session["SearchRfpFilter"];

            if (string.IsNullOrWhiteSpace(filter.Text))
            {
                filter.Text = string.Empty;
            }

            if (SessionHelper.CurrentUser != null && SessionHelper.CurrentUser.User.org_key != null)
            {
                filter.OrgKey = SessionHelper.CurrentUser.User.org_key.ToString();
            }

            try
            {
                var result = _rfpFacade.SearchRfp(filter);

                if (result.Count() > 0)
                {
                    if (SessionHelper.CurrentUser == null)
                    {
                        if (result.Count > 3)
                        {
                            result.RemoveRange(3, result.Count - 3);
                        }

                        result.ForEach(p => p.actions = string.Empty);
                        result.ForEach(p => p.rfp_key = default(Guid));
                    }
                    else if (SessionHelper.CurrentUser != null && SessionHelper.CurrentUser.User.per_type == "RFP")
                    {
                        result.ForEach(p => p.actions = $"<div style='float:right'><a class='btn btn-default btn-auto' disabled>Send a proposal</a></div>");
                    }
                    else if (SessionHelper.CurrentUser != null && SessionHelper.CurrentUser.User.per_type == "Vendor")
                    {
                        result.ForEach(p => p.actions = $"<div style='float:right'><a href='/rfp/create?rfp_key={p.rfp_key}' class='btn btn-default btn-auto'>Send a proposal</a></div>");
                    }

                    result.ForEach(p => p.rfp_summary = string.IsNullOrWhiteSpace(p.rfp_summary) ? "" : Regex.Replace(p.rfp_summary, @"<[^>]*>", String.Empty));

                    response.IsSuccess      = true;
                    response.DataCollection = result;
                    response.Message        = Messages.Found;
                    return(Json(response, JsonRequestBehavior.AllowGet));
                }
                else
                {
                    response.IsSuccess = true;
                    response.Message   = Messages.NoRecord;
                    return(Json(response, JsonRequestBehavior.AllowGet));
                }
            }
            catch (Exception ex)
            {
                response.DeveloperMessage = ex.Message;
                response.Message          = Messages.ServerError;
                return(Json(response, JsonRequestBehavior.AllowGet));
            }
        }