Ejemplo n.º 1
0
        async Task CreateWorkload(string title, DateTime date, string description)
        {
            var uniqueName = this.GetCurrentUser();

            var workload = new WorkloadViewModel2()
            {
                WBTitle       = title,
                WBDescription = description,
                WBStartDate   = date,
                WBEndDate     = date,

                WBID          = Guid.NewGuid(),
                WBCreatedDate = DateTime.Now,
                WBCreatedBy   = uniqueName,
                WBUsers       = new string[] { uniqueName },

                WBIsWorkload = true, // dont forget to set to true
                WBStatus     = 2,

                WBActivity   = Guid.Empty,
                WBComplexity = 0,
                WBExpertise  = 0
            };

            var response = await Util.ConnectToRemoteService(HttpMethod.Post, Util.KanbanURL + "api/workload/add", uniqueName, "", workload);

            // Util.KanbanClient.WorkspaceFolders.Create(uniqueName, "workload");

            //var client = new ArdaSDK.Kanban.KanbanClient();
            //client.WorkspaceFolders.Create("abc");
            //var workspace = new ArdaSDK.Kanban.WorkspaceFolders(client);

            // workspace.
            ///.KanbanClient();
        }
Ejemplo n.º 2
0
        public async Task <WorkloadViewModel> AddSimpleV3([FromBody] WorkloadSimpleViewModel work)
        {
            if (work == null)
            {
                throw new ArgumentOutOfRangeException(nameof(work));
            }

            if (work.Title == null || work.Title == "")
            {
                throw new ArgumentOutOfRangeException(nameof(work.Title));
            }

            var uniqueName = this.GetCurrentUser();
            var now        = DateTime.Now;
            var today      = new DateTime(now.Year, now.Month, now.Day);

            WorkloadViewModel workload = new WorkloadViewModel2()
            {
                WBID = (work.Id == Guid.Empty) ? Guid.NewGuid() : work.Id,

                WBTitle       = work.Title,
                WBDescription = work.Description,
                WBStatus      = (work.Status.HasValue) ? work.Status.Value : 0,

                WBCreatedBy   = uniqueName,
                WBCreatedDate = DateTime.Now,

                WBStartDate = today,
                WBEndDate   = today,
                WBUsers     = new string[] { uniqueName },

                WBIsWorkload = true,

                WBActivity     = Guid.Empty,
                WBComplexity   = 0,
                WBExpertise    = 0,
                WBFilesList    = null,
                WBMetrics      = null,
                WBTechnologies = null
            };

            var response = await Util.ConnectToRemoteService(HttpMethod.Post, Util.KanbanURL + "api/workload/add", uniqueName, "", workload);

            UsageTelemetry.Track(uniqueName, ArdaUsage.Workload_Add);

            if (!response.IsSuccessStatusCode)
            {
                throw new Exception($"ConnectToRemote(Kanban/api/workload/add) failed with HTTP ${response.StatusCode}");
            }

            return(workload);
        }
Ejemplo n.º 3
0
        public async Task <HttpResponseMessage> Add(ICollection <IFormFile> WBFiles, WorkloadViewModel2 workload)
        {
            //Owner:
            var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;

            //Complete WB fields:
            workload.WBCreatedBy   = uniqueName;
            workload.WBCreatedDate = DateTime.Now;
            //Iterate over files:
            if (WBFiles.Count > 0)
            {
                List <Tuple <Guid, string, string> > fileList = await UploadNewFiles(WBFiles);

                //Adds the file lists to the workload object:
                workload.WBFilesList = fileList;
            }

            // Sometimes /Workload/Guid fails or takes a long time to return
            if (workload.WBID == Guid.Empty)
            {
                workload.WBID = Guid.NewGuid();
            }

            var response = await Util.ConnectToRemoteService(HttpMethod.Post, Util.KanbanURL + "api/workload/add", uniqueName, "", workload);

            UsageTelemetry.Track(uniqueName, ArdaUsage.Workload_Add);

            if (!response.IsSuccessStatusCode)
            {
                return(new HttpResponseMessage(HttpStatusCode.InternalServerError));
            }

            await Assign(workload.WBID, workload.Tag, uniqueName);

            return(new HttpResponseMessage(HttpStatusCode.OK));
        }
Ejemplo n.º 4
0
        public async Task <WorkloadViewModel> AddSimple(ICollection <IFormFile> WBFiles, WorkloadViewModel2 workload)
        {
            //Owner:
            var uniqueName = HttpContext.User.Claims.First(claim => claim.Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name").Value;

            workload.WBActivity   = Guid.Empty;
            workload.WBComplexity = 0;
            workload.WBExpertise  = 0;

            //Complete WB fields:
            workload.WBCreatedBy   = uniqueName;
            workload.WBCreatedDate = DateTime.Now;

            var now   = DateTime.Now;
            var today = new DateTime(now.Year, now.Month, now.Day);

            workload.WBStartDate = today;
            workload.WBEndDate   = today;

            // Myself
            workload.WBUsers = new string[] { uniqueName };

            // Sometimes /Workload/Guid fails or takes a long time to return
            if (workload.WBID == Guid.Empty)
            {
                workload.WBID = Guid.NewGuid();
            }

            var response = await Util.ConnectToRemoteService(HttpMethod.Post, Util.KanbanURL + "api/workload/add", uniqueName, "", workload);

            await Assign(workload.WBID, workload.Tag, uniqueName);

            UsageTelemetry.Track(uniqueName, ArdaUsage.Workload_Add);

            if (!response.IsSuccessStatusCode)
            {
                throw new Exception($"ConnectToRemote(Kanban/api/workload/add) failed with HTTP ${response.StatusCode}");
            }

            return(workload);
        }