Ejemplo n.º 1
0
        public IHttpActionResult AddDocument(AddDocumentViewModel model)
        {
            if (model.Document == null)
            {
                return(BadRequest("Object is null"));
            }
            if (model.DocFile == null)
            {
                return(BadRequest("Provided Doc File is null"));
            }

            var employee = _employeeService.GetById(model.EmployeeId);

            if (employee == null)
            {
                return(NotFound());
            }

            // save the document file to the server /Content/docs directory
            string filePath = Utility.Utility.SaveToDisk(HttpContext.Current, model.DocFile, "~/Content/docs");

            // saving only the image name
            model.Document.DocumentPath = filePath;

            _documentService.Add(model.Document, model.DocTypeId, model.EmployeeId);
            return(Ok());
        }
Ejemplo n.º 2
0
        //Create new document
        public IActionResult Create(AddDocumentViewModel model)
        {
            User user = _context.Users.Include(u => u.Projects).ToList().                       //Get User from DB
                        Where(u => u.UserName == HttpContext.User.Identity.Name).FirstOrDefault();
            Project project = _context.Projects.Include(u => u.Documents).ToList().             //Get Project from DB
                              Where(i => i.Id == model.projectId).FirstOrDefault();
            Document document = new Document();
            Comment  comment  = new Comment();

            if (model.Document != null)
            {
                byte[] data = null;
                using (var reader = new BinaryReader(model.Document.OpenReadStream())) //Open stream
                {
                    data = reader.ReadBytes((int)model.Document.Length);
                }

                document = new Document {
                    Project = project, Name = model.Name, ProjectId = project.Id, Subject = data, Format = new FileFormatGetter().GetFileFormat(model)
                };
                comment = new Comment {
                    Text = model.Comment, Document = document, DocumentId = document.Id, User = user, Date = DateTime.Now
                };
            }

            _context.Comments.Add(comment);   //add new records to tables
            _context.Documents.Add(document);
            _context.SaveChanges();           //save db
            return(RedirectToAction("Index", "Home"));
        }
Ejemplo n.º 3
0
        public ActionResult AddInvolvedOrganizations(string projectId)
        {
            var project = RepositoryContext.Current.GetOne <Project>(p => p._id == projectId);

            if (project == null)
            {
                return(HttpNotFound("проект не найден"));
            }

            var model = new AddDocumentViewModel();

            model.PorjectId = projectId;
            model.Documents = new List <string>();

            ViewBag.DocumentList =
                RepositoryContext.Current.All <TaskTemplate>(t => t.Type == TaskTypes.InvolvedOrganiztion)
                .Select(template => template.Title)
                .ToList();

            if (project.Tasks != null)
            {
                foreach (var document in project.Tasks.Where(t => t.Type == TaskTypes.InvolvedOrganiztion))
                {
                    model.Documents.Add(document.Title);
                }
            }

            return(View(model));
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Edit document
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public virtual async Task <ResultModel> EditDocumentAsync(AddDocumentViewModel model)
        {
            var result = new ResultModel();

            if (model == null)
            {
                result.Errors.Add(new ErrorModel {
                    Message = "entity == null"
                });
                result.IsSuccess = false;
                return(result);
            }

            var document = await _documentContext.Documents.FirstOrDefaultAsync(x => x.Id == model.DocumentId);

            if (document == null)
            {
                result.Errors.Add(new ErrorModel {
                    Message = "document not fount"
                });
                result.IsSuccess = false;
                return(result);
            }

            document.DocumentCode   = model.DocumentCode;
            document.Title          = model.Title;
            document.Description    = model.Description;
            document.Group          = model.Group;
            document.DocumentTypeId = model.DocumentTypeId;

            _documentContext.Documents.Update(document);
            result = await _documentContext.PushAsync();

            return(result);
        }
Ejemplo n.º 5
0
        public async Task <JsonResult> Create(AddDocumentViewModel model)
        {
            var result = new ResultModel();

            result = await _documentService.AddDocumentAsync(model);

            return(Json(result));
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Add new document
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public virtual async Task <ResultModel> AddDocumentAsync(AddDocumentViewModel model)
        {
            var result = new ResultModel();

            if (model == null || model.Title.IsNull() || model.DocumentCategoryId.Equals(Guid.Empty))
            {
                result.Errors.Add(new ErrorModel {
                    Message = "entity is not valid"
                });
                result.IsSuccess = false;
                return(result);
            }

            var userRequest = await _userManager.GetCurrentUserAsync();

            if (!userRequest.IsSuccess)
            {
                result.Errors.Add(new ErrorModel {
                    Message = "User not found"
                });
                result.IsSuccess = false;
                return(result);
            }
            var user = userRequest.Result;

            var newDocument = new Document
            {
                DocumentCategoryId = model.DocumentCategoryId,
                DocumentTypeId     = model.DocumentTypeId,
                DocumentCode       = model.DocumentCode,
                Title       = model.Title,
                Description = model.Description,
                Group       = model.Group,
                UserId      = user.Id
            };

            await _documentContext.Documents.AddAsync(newDocument);

            result = await _documentContext.PushAsync();


            if (result.IsSuccess)
            {
                result = await AddNewDocumentVersionAsync(new AddNewVersionDocumentViewModel
                {
                    Comments       = model.Comments,
                    DocumentId     = newDocument.Id,
                    File           = model.File,
                    IsMajorVersion = true,
                    Url            = model.Url,
                });
            }

            result.Result = newDocument.Id;
            return(result);
        }
Ejemplo n.º 7
0
        public Document Add(AddDocumentViewModel addData)
        {
            var document = new Document {
                Alias   = addData.Alias,
                Title   = addData.Title,
                Content = "# " + addData.Title
            };

            return(_documentService.Add(document, addData.ParentId));
        }
        public void AddDocument_DocumentIsNull_ReturnBadRequestObjcet()
        {
            AddDocumentViewModel model = new AddDocumentViewModel
            {
                Document = null
            };

            var result = _controller.AddDocument(model);

            Assert.That(result, Is.TypeOf <BadRequestErrorMessageResult>());
        }
        public void AddDocument_EmployeeIsNull_ReturnNotFound()
        {
            AddDocumentViewModel model = new AddDocumentViewModel
            {
                Document   = new hr_system.Models.Document(),
                EmployeeId = 89012843
            };

            var result = _controller.AddDocument(model);

            Assert.That(result, Is.TypeOf <NotFoundResult>());
        }
Ejemplo n.º 10
0
        public async Task <IActionResult> Create()
        {
            var documentAddModel = new AddDocumentViewModel();

            documentAddModel.ListDocumentTypes = (await _documentTypeService.GetAllDocumentTypeAsync()).Result.ToList().Select(x => new SelectListItem
            {
                Text  = x.Name,
                Value = x.Id.ToString()
            });

            return(View(documentAddModel));
        }
        public void AddDocument_DocFileIsNull_ReturnBadRequest()
        {
            AddDocumentViewModel model = new AddDocumentViewModel
            {
                Document   = new hr_system.Models.Document(),
                EmployeeId = 89012843,
                DocFile    = null
            };

            var result = _controller.AddDocument(model);

            Assert.That(result, Is.TypeOf <BadRequestErrorMessageResult>());
        }
Ejemplo n.º 12
0
 public ActionResult Add(AddDocumentViewModel model)
 {
     if (ModelState.IsValid)
     {
         Document d = new Document(model.Name, DateTime.Now.Date, User.Identity.Name, TagsToString(model.Tags));
         documentsRepository.AddDocument(d);
         return(RedirectToAction("List"));
     }
     else
     {
         ModelState.AddModelError("", "Данные введены некорректно");
         return(View());
     }
 }
Ejemplo n.º 13
0
        public ActionResult AddInvolvedOrganizations(AddDocumentViewModel model)
        {
            ViewBag.DocumentList =
                RepositoryContext.Current.All <TaskTemplate>(t => t.Type == TaskTypes.InvolvedOrganiztion)
                .Select(template => template.Title)
                .ToList();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var project = RepositoryContext.Current.GetOne <Project>(p => p._id == model.PorjectId);

            IQueryable <TaskTemplate> templates =
                RepositoryContext.Current.All <TaskTemplate>(t => model.Documents.Contains(t.Title));
            var tasks = new List <ProjectTask>();

            foreach (var template in templates)
            {
                tasks.Add(new ProjectTask
                {
                    _id          = ObjectId.GenerateNewId().ToString(),
                    ProjectId    = model.PorjectId,
                    Body         = template.Body,
                    Title        = template.Title,
                    Type         = template.Type,
                    Step         = ProjectWorkflow.State.InvolvedOrganizations,
                    CreationTime = DateTime.Now
                });
            }

            if (project.Tasks == null)
            {
                project.Tasks = new List <ProjectTask>();
            }
            project.Tasks.RemoveAll(p => p.Type == TaskTypes.InvolvedOrganiztion);
            project.Tasks.AddRange(tasks);

            RepositoryContext.Current.Update(project);
            try
            {
                ProjectStateManager.StateManagerFactory(project, User.Identity.Name,
                                                        Roles.GetRolesForUser(User.Identity.Name)).DocumentUpdate();
            }
            catch (Exception)
            {
            }
            return(RedirectToAction("Project", "BaseProject", new { id = model.PorjectId }));
        }
Ejemplo n.º 14
0
        public async Task <JsonResult> Edit(AddDocumentViewModel model)
        {
            var result = new ResultModel();

            if (!ModelState.IsValid)
            {
                result.IsSuccess = false;
                result.Result    = model;
                return(Json(result));
            }

            result = await _documentService.EditDocumentAsync(model);

            return(Json(result));
        }
        protected override IList <Category> ResolveCore(AddDocumentViewModel source)
        {
            if (source.CategoryList != null && source.CategoryList.Count > 0)
            {
                // transform the category Guid list to a list of category objects

                var categoryEntitiyList = source.CategoryList.Select(x => new Category()
                {
                    Id = x
                }).ToList();
                return(categoryEntitiyList);
            }
            else
            {
                return(new List <Category>());
            }
        }
Ejemplo n.º 16
0
        public ActionResult AddDocumentTask(AddDocumentViewModel model)
        {
            ViewBag.DocumentList =
                RepositoryContext.Current.All <TaskTemplate>(t => t.Step == ProjectWorkflow.State.DocumentSending)
                .Select(template => template.Title)
                .ToList();

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var project = RepositoryContext.Current.GetOne <Project>(p => p._id == model.PorjectId);

            IQueryable <TaskTemplate> templates =
                RepositoryContext.Current.All <TaskTemplate>(t => model.Documents.Contains(t.Title));
            var tasks = new List <ProjectTask>();

            foreach (var template in templates)
            {
                tasks.Add(new ProjectTask
                {
                    _id          = ObjectId.GenerateNewId().ToString(),
                    ProjectId    = model.PorjectId,
                    Body         = template.Body,
                    Title        = template.Title,
                    Type         = template.Type,
                    Step         = template.Step,
                    CreationTime = DateTime.Now
                });
            }

            if (project.Tasks == null)
            {
                project.Tasks = new List <ProjectTask>();
            }
            project.Tasks.RemoveAll(p => p.Step == ProjectWorkflow.State.DocumentSending);
            project.Tasks.AddRange(tasks);

            RepositoryContext.Current.Update(project);

            return(RedirectToAction("Project", "BaseProject", new { id = model.PorjectId }));
        }
Ejemplo n.º 17
0
 protected override IList <Keyword> ResolveCore(AddDocumentViewModel source)
 {
     if (source.KeywordsList != null && source.KeywordsList.Count > 0)
     {
         // transfrom the list name to a list of objects
         return((from s in source.KeywordsList
                 select s.Trim()
                 into trimedName
                 where !string.IsNullOrWhiteSpace(trimedName)
                 select new Keyword()
         {
             Name = trimedName
         }).ToList());
     }
     else
     {
         return(new List <Keyword>());
     }
 }
Ejemplo n.º 18
0
        public ActionResult Create(AddDocumentViewModel addViewModel, HttpPostedFileBase file = null)
        {
            if (ModelState.IsValid)
            {
                var doc = new Document()
                {
                    DocumentUploadDateTime = DateTime.Now,
                    DocumentDescription    = addViewModel.Description,
                    DocumentContent        = new byte[file.ContentLength],
                    DocumentName           = addViewModel.Title
                };
                file.InputStream.Read(doc.DocumentContent, 0, file.ContentLength);
                db.Documents.Add(doc);
                db.SaveChanges();

                return(RedirectToAction("Admin"));
            }
            else
            {
                return(View());
            }
        }
Ejemplo n.º 19
0
 public AddDocumentPage()
 {
     _addDocumentViewModel = new AddDocumentViewModel();
     InitializeComponent();
     BindingContext = _addDocumentViewModel;
 }
Ejemplo n.º 20
0
 public AddDocumentView()
 {
     InitializeComponent();
     DataContext = new AddDocumentViewModel();
 }
Ejemplo n.º 21
0
 public AddDocumentView(AddDocumentViewModel viewModel)
 {
     InitializeComponent();
     DataContext = viewModel;
 }