public ActionResult CGCDocumentEdit(int id = 0)
        {
            DocumentEditViewModel          viewModel = new DocumentEditViewModel();
            CropGermplasmCommitteeDocument document  = null;

            try
            {
                if (id > 0)
                {
                    document = _cgcRepository.GetDocument(id);
                    viewModel.CommitteeID   = document.Committee.ID;
                    viewModel.CommitteeName = document.Committee.Name;
                    viewModel.Title         = document.Title;
                    viewModel.CategoryCode  = document.CategoryCode;
                    viewModel.CategoryTitle = document.CategoryTitle;
                    viewModel.Year          = document.DocumentYear;
                    viewModel.ID            = document.ID;
                    viewModel.URL           = document.URL;
                }
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                string errorText      = "<label>Controller:</label>" + controllerName;
                errorText             = errorText + "<br><label>Action:</label>" + actionName;
                errorText             = errorText + "<br><label>Details:</label>" + ex.TargetSite + ex.Message;
                Session["ERROR_TEXT"] = errorText;
                return(RedirectToAction("InternalServerError", "Error"));
            }
            return(View("~/Views/Admin/CGC/Edit.cshtml", viewModel));
        }
示例#2
0
        public CropGermplasmCommitteeDocument GetDocument(int id)
        {
            CropGermplasmCommitteeDocument cropGermplasmCommitteeDocument = null;

            try
            {
                var result = _dataContext.usp_ARS_CropGermplasmCommitteeDocument_Select(id).FirstOrDefault();
                if (result != null)
                {
                    cropGermplasmCommitteeDocument                = new CropGermplasmCommitteeDocument();
                    cropGermplasmCommitteeDocument.ID             = result.crop_germplasm_committee_document_id;
                    cropGermplasmCommitteeDocument.Title          = result.document_title;
                    cropGermplasmCommitteeDocument.CategoryCode   = result.category_code;
                    cropGermplasmCommitteeDocument.CategoryTitle  = result.category_title;
                    cropGermplasmCommitteeDocument.URL            = result.url;
                    cropGermplasmCommitteeDocument.DocumentYear   = result.document_year.GetValueOrDefault();
                    cropGermplasmCommitteeDocument.Committee.ID   = result.crop_germplasm_committee_id.GetValueOrDefault();
                    cropGermplasmCommitteeDocument.Committee.Name = result.crop_germplasm_committee_name;
                    cropGermplasmCommitteeDocument.CreatedDate    = result.created_date.GetValueOrDefault();
                    cropGermplasmCommitteeDocument.ModifiedDate   = result.modified_date.GetValueOrDefault();
                }
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return(cropGermplasmCommitteeDocument);
        }
示例#3
0
        public ResultContainer DeleteDocument(CropGermplasmCommitteeDocument document)
        {
            int?            errorNumber     = 0;
            ResultContainer resultContainer = new ResultContainer();

            try
            {
                _dataContext.usp_ARS_CropGermplasmCommitteeDocument_Delete(ref errorNumber, document.ID);
                resultContainer.EntityID   = document.ID;
                resultContainer.ResultCode = errorNumber.GetValueOrDefault().ToString();
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return(resultContainer);
        }
示例#4
0
        public List <CropGermplasmCommitteeDocument> GetDocuments(int cropGermplasmCommitteeId)
        {
            List <CropGermplasmCommitteeDocument> cropGermplasmCommitteeDocuments = new List <CropGermplasmCommitteeDocument>();
            CropGermplasmCommitteeDocument        document = null;

            var results = _dataContext.usp_ARS_CropGermplasmCommitteeDocuments_Select(cropGermplasmCommitteeId);

            foreach (var result in results)
            {
                document       = new CropGermplasmCommitteeDocument();
                document.ID    = result.crop_germplasm_committee_document_id;
                document.Title = result.document_title;
                document.URL   = result.url;
                cropGermplasmCommitteeDocuments.Add(document);
            }

            return(cropGermplasmCommitteeDocuments);
        }
示例#5
0
        public ResultContainer InsertDocument(CropGermplasmCommitteeDocument document)
        {
            int?errorNumber = 0;
            int?id          = 0;

            ResultContainer resultContainer = new ResultContainer();

            try
            {
                _dataContext.usp_ARS_CropGermplasmCommitteeDocument_Insert(ref errorNumber, ref id, document.Committee.ID, document.Title, document.DocumentYear, document.CategoryTitle, document.URL);
                resultContainer.EntityID   = id.GetValueOrDefault();
                resultContainer.ResultCode = errorNumber.GetValueOrDefault().ToString();
            }
            catch (SqlException ex)
            {
                throw ex;
            }
            return(resultContainer);
        }
示例#6
0
        public List <CropGermplasmCommitteeDocument> GetDocuments()
        {
            CropGermplasmCommitteeDocument        document  = null;
            List <CropGermplasmCommitteeDocument> documents = new List <CropGermplasmCommitteeDocument>();
            var results = _dataContext.usp_ARS_CropGermplasmCommitteeDocuments_SelectAll();

            foreach (var result in results)
            {
                document                = new CropGermplasmCommitteeDocument();
                document.ID             = result.crop_germplasm_committee_document_id;
                document.Title          = result.document_title;
                document.URL            = result.url;
                document.CategoryTitle  = result.category;
                document.DocumentYear   = result.document_year.GetValueOrDefault();
                document.CreatedDate    = result.created_date.GetValueOrDefault();
                document.ModifiedDate   = result.modified_date.GetValueOrDefault();
                document.Committee.Name = result.crop_germplasm_committee_name; documents.Add(document);
            }
            return(documents);
        }
        public ActionResult CGCDocumentDelete(int id)
        {
            CropGermplasmCommitteeDocument cropGermplasmCommitteeDocument = null;
            ResultContainer resultContainer = null;

            try
            {
                cropGermplasmCommitteeDocument = _cgcRepository.GetDocument(id);

                //Uri uri = new Uri(cropGermplasmCommitteeDocument.URL);
                //string filename = System.IO.Path.GetFileName(cropGermplasmCommitteeDocument.URL);

                //string rootPath = "~/documents/CGC";
                //string fullPath = System.IO.Path.Combine(Server.MapPath(rootPath), filename);

                //if (System.IO.File.Exists(uri.LocalPath))
                //{
                //    System.IO.File.Delete(uri.LocalPath);
                //}
                //else
                //{
                //    throw new IOException(String.Format("The file {0} does not exist and cannot be deleted.", filename));
                //}
                resultContainer = _cgcRepository.DeleteDocument(cropGermplasmCommitteeDocument);
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                string errorText      = "<label>Controller:</label>" + controllerName;
                errorText             = errorText + "<br><label>Action:</label>" + actionName;
                errorText             = errorText + "<br><label>Details:</label>" + ex.TargetSite + ex.Message;
                Session["ERROR_TEXT"] = errorText;
                return(RedirectToAction("InternalServerError", "Error"));
            }
            return(RedirectToAction("Index", "Admin"));
        }
        public ActionResult CGCDocumentEdit(DocumentEditViewModel viewModel)
        {
            string uploadDir = "~/documents/cgc/";
            string path      = String.Empty;
            CropGermplasmCommitteeDocument document = new CropGermplasmCommitteeDocument();
            ResultContainer resultContainer         = new ResultContainer();

            try
            {
                document.ID           = viewModel.ID;
                document.Committee.ID = viewModel.CommitteeID;
                document.Title        = viewModel.Title;
                document.DocumentYear = viewModel.Year;
                document.CategoryCode = viewModel.CategoryCode;
                document.URL          = viewModel.URL;

                if (viewModel.DocumentUpload != null && viewModel.DocumentUpload.ContentLength > 0)
                {
                    if (document.CategoryTitle == "CVS")
                    {
                        uploadDir = uploadDir + "cvs";
                    }
                    else
                    {
                        if (document.CategoryTitle == "MIN")
                        {
                            uploadDir = uploadDir + "committee";
                        }
                    }

                    //NEEDED?
                    //path = Path.Combine(Server.MapPath(uploadDir), Path.GetFileName(viewModel.DocumentUpload.FileName));

                    var documentPath = Path.Combine(Server.MapPath(uploadDir), viewModel.DocumentUpload.FileName);
                    var documentUrl  = Path.Combine(uploadDir, viewModel.DocumentUpload.FileName);
                    viewModel.DocumentUpload.SaveAs(documentPath);

                    var urlBuilder =
                        new System.UriBuilder(Request.Url.AbsoluteUri)
                    {
                        Path  = Url.Content(documentUrl),
                        Query = null,
                    };

                    Uri uri = urlBuilder.Uri;
                    document.URL = urlBuilder.ToString();
                }

                if (viewModel.ID > 0)
                {
                    resultContainer = _cgcRepository.UpdateDocument(document);
                }
                else
                {
                    resultContainer = _cgcRepository.InsertDocument(document);
                }

                return(RedirectToAction("CGCDocumentView", "Admin", new { id = resultContainer.EntityID }));
            }
            catch (Exception ex)
            {
                Log.Error(ex, ex.Message);
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                string errorText      = "<label>Controller:</label>" + controllerName;
                errorText             = errorText + "<br><label>Action:</label>" + actionName;
                errorText             = errorText + "<br><label>Details:</label>" + ex.TargetSite + ex.Message;
                Session["ERROR_TEXT"] = errorText;
                return(RedirectToAction("InternalServerError", "Error"));
            }
        }