Ejemplo n.º 1
0
 /*Section="Method-CreateTaskDocument"*/
 public void CreateTaskDocument(TaskDocument taskDocument)
 {
     using (IDAL dal = this.DAL)
     {
         dal.BeginTransaction();
         try
         {
             IUniParameter prmOverStoreTask = dal.CreateParameter("OverStoreTask", taskDocument.OverStoreTask);
             IUniParameter prmDocument      = dal.CreateParameter("Document", taskDocument.Document);
             dal.ExecuteNonQuery("OSM_INS_TASKDOCUMENT_SP", prmOverStoreTask, prmDocument);
             dal.CommitTransaction();
         }
         catch
         {
             dal.RollbackTransaction();
             throw;
         }
     }
 }
        public async Task <TaskDocument> AddTaskAsync(ObjectId idUser, TaskDocument newTask)
        {
            var filterUser = Builders <UserDocument> .Filter.Eq("_id", idUser);

            var user = await _collection.Find(filterUser).FirstOrDefaultAsync();

            if (null == user)
            {
                return(null);
            }

            newTask.Id   = ObjectId.GenerateNewId();
            newTask.Done = false;

            var updateCommand = Builders <UserDocument> .Update.Push("Tasks", newTask);

            await _collection.FindOneAndUpdateAsync(filterUser, updateCommand);

            return(newTask);
        }
        public async Task <bool> UpdateTaskAsync(ObjectId idUser, ObjectId idTask, TaskDocument updatedTask)
        {
            var filterUser = Builders <UserDocument> .Filter.Eq("_id", idUser);

            var user = await _collection.Find(filterUser).FirstOrDefaultAsync();

            if (null == user)
            {
                return(false);
            }

            user.Tasks.RemoveAll(t => t.Id.Equals(idTask));
            user.Tasks.Add(updatedTask);
            var r = await _collection.ReplaceOneAsync(filterUser, user);

            return(r.ModifiedCount > 0);

            /*var updateCommand = Builders<UserDocument>.Update.Push("Tasks", updatedTask);
             * var updatedUser = await _collection.FindOneAndUpdateAsync(filterUser, updateCommand);
             * var taskUpdated = updatedUser?.Tasks.Find(t => t.Id.Equals(idTask));
             * return taskUpdated != null;*/
        }
 public BaseResponse <TaskDocument> Add(TaskDocument model)
 {
     return(taskService.AddTaskDocument(model));
 }
Ejemplo n.º 5
0
        public async Task <ActionResult> TaskDocumentDownload(TaskDocument _taskDocument)
        {
            TaskDocument taskDocument = new TaskDocument();

            taskDocument.Cid          = _taskDocument.Cid;
            taskDocument.DocumentName = _taskDocument.DocumentName;
            taskDocument.Tskid        = _taskDocument.Tskid;
            taskDocument.UplodedBy    = _taskDocument.UplodedBy;
            Byte[] bytesFile = Convert.FromBase64String(_taskDocument.Filestream);
            byte[] tstArry   = { 0, 1 };
            taskDocument.FileData   = tstArry;
            taskDocument.FileType   = _taskDocument.FileType;
            taskDocument.Filestream = "test";

            //_context.TaskDocument.Add(taskDocument);
            //await _context.SaveChangesAsync();
            //CreatedAtAction("GetAuditorPortfolio", new { id = _taskDocument.Tskid }, _taskDocument);

            #region "Blob Storage Download"

            try
            {
                MemoryStream ms = new MemoryStream();
                if (CloudStorageAccount.TryParse("DefaultEndpointsProtocol=https;AccountName=mccog;AccountKey=oan1RKJMPe82KxZDhfHqZArWCSHzSukEdwl8VSQgSP+w3pxIvLkHEObL6iUwMbiSM9Kx6mcmx5ZYsj3lBQ29GQ==;EndpointSuffix=core.windows.net", out CloudStorageAccount storageAccount))
                {
                    CloudBlobClient    BlobClient       = storageAccount.CreateCloudBlobClient();
                    string             strContainerName = "taskdocuments";
                    CloudBlobContainer container        = BlobClient.GetContainerReference(strContainerName);

                    if (await container.ExistsAsync())
                    {
                        CloudBlob file = container.GetBlobReference(_taskDocument.DocumentName);

                        if (await file.ExistsAsync())
                        {
                            await file.DownloadToStreamAsync(ms);

                            Stream blobStream = file.OpenReadAsync().Result;
                            return(File(blobStream, file.Properties.ContentType, file.Name));
                        }
                        else
                        {
                            return(Content("File does not exist"));
                        }
                    }
                    else
                    {
                        return(Content("Container does not exist"));
                    }
                }
                else
                {
                    return(Content("Error opening storage"));
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            #endregion

            return(NoContent());
        }
Ejemplo n.º 6
0
        public async Task <ActionResult <TaskDocument> > TaskDocumentUpload(TaskDocument _taskDocument)
        {
            TaskDocument taskDocument = new TaskDocument();

            taskDocument.Cid          = _taskDocument.Cid;
            taskDocument.DocumentName = _taskDocument.DocumentName;
            taskDocument.Tskid        = _taskDocument.Tskid;
            taskDocument.UplodedBy    = _taskDocument.UplodedBy;
            Byte[] bytesFile = Convert.FromBase64String(_taskDocument.Filestream);
            byte[] tstArry   = { 0, 1 };
            taskDocument.FileData   = tstArry;
            taskDocument.FileType   = _taskDocument.FileType;
            taskDocument.Filestream = "test";

            _context.TaskDocument.Add(taskDocument);
            await _context.SaveChangesAsync();

            CreatedAtAction("GetAuditorPortfolio", new { id = _taskDocument.Tskid }, _taskDocument);
            #region "Blob Storage Upload"

            try
            {
                CloudStorageAccount cloudStorageAccount = CloudStorageAccount.Parse("DefaultEndpointsProtocol=https;AccountName=mccog;AccountKey=oan1RKJMPe82KxZDhfHqZArWCSHzSukEdwl8VSQgSP+w3pxIvLkHEObL6iUwMbiSM9Kx6mcmx5ZYsj3lBQ29GQ==;EndpointSuffix=core.windows.net");
                CloudBlobClient     cloudBlobClient     = cloudStorageAccount.CreateCloudBlobClient();
                string             strContainerName     = "taskdocuments";
                CloudBlobContainer cloudBlobContainer   = cloudBlobClient.GetContainerReference(strContainerName);

                if (await cloudBlobContainer.CreateIfNotExistsAsync())
                {
                    await cloudBlobContainer.SetPermissionsAsync(new BlobContainerPermissions { PublicAccess = BlobContainerPublicAccessType.Blob });
                }

                if (_taskDocument.DocumentName != null && bytesFile != null)
                {
                    CloudBlockBlob cloudBlockBlob = cloudBlobContainer.GetBlockBlobReference(_taskDocument.DocumentName);

                    cloudBlockBlob.Properties.ContentType = _taskDocument.FileType;
                    await cloudBlockBlob.UploadFromByteArrayAsync(bytesFile, 0, bytesFile.Length);

                    string URI = cloudBlockBlob.Uri.AbsoluteUri;
                }
            }
            catch (Exception ex)
            {
                throw (ex);
            }

            #endregion

            #region "Service Bus Entry"

            TaskDocument taskDocumentServiceBus = new TaskDocument();
            taskDocumentServiceBus.Cid          = _taskDocument.Cid;
            taskDocumentServiceBus.DocumentName = _taskDocument.DocumentName;
            taskDocumentServiceBus.Tskid        = _taskDocument.Tskid;
            taskDocumentServiceBus.UplodedBy    = _taskDocument.UplodedBy;
            taskDocumentServiceBus.FileType     = _taskDocument.FileType;


            const string ServiceBusConnectionString = "Endpoint=sb://auditor2client.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=BJtC7Tu9IhAH62XqaazRBI24PgeRj43cwbXAy0zbFLE=";                                                                           //access policy
            const string QueueName = "a2cdoc";
            queueClient = new QueueClient(ServiceBusConnectionString, QueueName);
            string ShareMessage = JsonConvert.SerializeObject(taskDocumentServiceBus);
            var    message      = new Message(Encoding.UTF8.GetBytes(ShareMessage));
            await queueClient.SendAsync(message);

            #endregion
            return(NoContent());
        }
Ejemplo n.º 7
0
        protected void addTask_OnClick(object sender, EventArgs e)
        {
            //var checkDate = CheckPreviousDate(dueDate.Text);


            //if (checkDate)
            //{
            //    lblError.Visible = true;
            //    return;
            //}

            //lblError.Visible = false;
            var taskDescription = taskDesciption.Text;
            var id             = Convert.ToInt64(Session["ID"]);
            var taskDoc        = new TaskDocument();
            var stats          = 0;
            var selectedUserId = Convert.ToInt32(userList.SelectedValue);


            if (attachments.HasFile)
            {
                var files = attachments.PostedFiles;

                foreach (var file in files)
                {
                    var fileName = Page.Server.MapPath("~/Uploads/TaskDocuments/" + Path.GetFileName(file.FileName));

                    file.SaveAs(fileName);

                    var fileByte = _imageService.ReadToEnd(file.InputStream);

                    taskDoc = _insedlu.TaskDocuments.Add(
                        new TaskDocument
                    {
                        name       = fileName,
                        created_at = DateTime.Today,
                        file       = fileByte
                    });

                    try
                    {
                        _insedlu.SaveChanges();
                    }
                    catch (DbEntityValidationException exception)
                    {
                        Console.WriteLine(exception.EntityValidationErrors);
                        throw;
                    }
                }
            }

            if (!string.IsNullOrEmpty(taskDescription))
            {
                var date       = DateTime.ParseExact(dueDate.Text, "dd/MM/yyyy", null);
                var todaysDate = DateTime.Today;

                var numberOfDays = GetRemainingDays(date, todaysDate);

                var task = new Task
                {
                    created_at          = DateTime.Now,
                    body                = taskDescription,
                    modified_at         = DateTime.Now,
                    due_date            = date,
                    user_id             = (int)id,
                    status              = (int)TaskStatus.Assigned,
                    task_document_id    = taskDoc.id,
                    number_of_days_left = numberOfDays
                };

                myTasksList.Text = task.body;
                var check = _projectService.SaveTask(task);

                var taskComplete = new TaskCompletion {
                    completion = numberOfDays.ToString(), task_id = (int)task.id
                };
                _insedlu.TaskCompletions.Add(taskComplete);
                _insedlu.SaveChanges();

                stats = Status("Assigned");
                var taskStatus = Convert.ToInt32(stats);
                //var task = _insedlu.Tasks.Single(x => x.id == taskId);

                task.status      = taskStatus;
                task.assigned_to = selectedUserId;

                _insedlu.Entry(task).State = EntityState.Modified;
                _insedlu.SaveChanges();

                if (check == 1)
                {
                    Page.ClientScript.RegisterClientScriptBlock(GetType(), "alert", "alert('Task saved successfully')", true);
                }
            }

            SetTasks(_id);
        }
Ejemplo n.º 8
0
        public void EnsureSeedData()
        {
            var            context = new MongoDbContext(_connection);
            IMongoDatabase db      = context.Database("mongocore");
            IMongoCollection <UserDocument> userCollection = context.Collection <UserDocument>("mongocore", "usertasks");

            var count = userCollection.Count(new BsonDocument());

            if (count > 0)
            {
                Console.WriteLine($">>>>> {count} documents already exist in collection");
                var filter = Builders <UserDocument> .Filter.Eq("Username", "sapaul");

                var user = userCollection.Find(filter).First();
                Console.WriteLine($"\n[Admin Info] {user.FirstName} {user.LastName}");
                if (PasswordHasher.Match("sapaul", user.PasswordHash))
                {
                    Console.WriteLine("Password Match test #1 passed");
                }
                if (!PasswordHasher.Match("sapauul", user.PasswordHash))
                {
                    Console.WriteLine("Password Match test #2 passed");
                }
                return;
            }

            var task1 = new TaskDocument
            {
                Id          = ObjectId.GenerateNewId(),
                Name        = "Remember the milk!",
                Description = "",
                Done        = true,
            };
            var task2 = new TaskDocument
            {
                Id          = ObjectId.GenerateNewId(),
                Name        = "update bio",
                Description = "",
                Done        = false
            };

            userCollection.InsertOne(new UserDocument
            {
                Admin        = true,
                FirstName    = "Santanu",
                LastName     = "Paul",
                Username     = "******",
                Email        = "*****@*****.**",
                PasswordHash = PasswordHasher.Generate("sapaul"),
                Tasks        = new List <TaskDocument>(new[] { task1, task2 })
            });
            userCollection.InsertOne(new UserDocument
            {
                Admin        = false,
                FirstName    = "Joe",
                LastName     = "Doe",
                Username     = "******",
                Email        = "*****@*****.**",
                PasswordHash = PasswordHasher.Generate("jodoe"),
                Tasks        = new List <TaskDocument>(new[] { new TaskDocument
                                                               {
                                                                   Id   = ObjectId.GenerateNewId(),
                                                                   Name = "John's task 1",
                                                                   Done = false
                                                               } })
            });
            userCollection.InsertOne(new UserDocument
            {
                Admin        = false,
                FirstName    = "Jane",
                LastName     = "Doe",
                Username     = "******",
                Email        = "*****@*****.**",
                PasswordHash = PasswordHasher.Generate("jndoe"),
                Tasks        = new List <TaskDocument>(new[] {
                    new TaskDocument {
                        Id          = ObjectId.GenerateNewId(),
                        Name        = "Jane's task 1",
                        Description = "some description",
                        Done        = false
                    }, new TaskDocument
                    {
                        Id          = ObjectId.GenerateNewId(),
                        Name        = "Jane's task 2",
                        Description = "some more description",
                        Done        = true
                    }
                })
            });

            count = userCollection.Count(new BsonDocument());
            Console.WriteLine($">>>>> {count} documents created in collection");
        }