Example #1
0
 public IHttpActionResult PostNewTask(Models.Task task)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     using (var ctx = new KanbanBoardWithSignalRAngularJSSolContext())
     {
         ctx.Tasks.Add(new Models.Task()
         {
             Id                 = task.Id,
             Name               = task.Name,
             Description        = task.Description,
             ColumnId           = task.ColumnId,
             EmployeeId         = task.EmployeeId,
             DueDate            = task.DueDate,
             selectedHours      = task.selectedHours,
             EmployeeName       = task.EmployeeName,
             PmAssignedBy       = task.PmAssignedBy,
             PercentageComplete = task.PercentageComplete,
             CaseNumber         = task.CaseNumber
         });
         ctx.SaveChanges();
     }
     return(Ok());
 }
Example #2
0
        public IHttpActionResult Download(int id)
        {
            Models.Task task             = db.Tasks.Find(id);
            string[]    CaseNumArray     = new string[100];
            string[]    SubjectArray     = new string[100];
            string[]    OwnerArray       = new string[100];
            string[]    CreatorArray     = new string[100];
            double[]    TotalHoursArray  = new double[100];
            string[]    DescArray        = new string[100];
            DateTime[]  CreatedDateArray = new DateTime[100];
            InitializeAsync();

            void InitializeAsync()
            {
                ServicePointManager.Expect100Continue = true;
                ServicePointManager.SecurityProtocol  = SecurityProtocolType.Tls12;

                string user = "******";
                string pass = "******";

                binding         = new SforceService();
                binding.Timeout = 60000;

                WebReference.LoginResult lr;

                lr = binding.login(user, pass);

                string authEndPoint = binding.Url;

                binding.Url = lr.serverUrl;

                binding.SessionHeaderValue           = new SessionHeader();
                binding.SessionHeaderValue.sessionId = lr.sessionId;

                string soqlQuery = "SELECT Subject, CaseNumber, Owner.Name, CreatedDate, Total_Time_Logged__c, CreatedBy.Name, Description FROM Case where (Status = 'Case Opened' or Status = 'Case Assigned')" +
                                   "and (Owner.Name = 'Bradley Soverns' or Owner.Name = 'Edward Spain' or Owner.Name = 'Kyle McQuistion' or Owner.Name = 'Dan Dibble' or Owner.Name = 'Porfirio Esparra' or Owner.Name = 'Firaus Odeh')";

                QueryResult qr = binding.query(soqlQuery);

                sObject[] records = qr.records;

                if (qr.size > 0)
                {
                    Console.WriteLine("");

                    for (int i = 0; i < records.Length; i++)
                    {
                        Case T = (Case)records[i];
                        if (CaseNumArray.Contains(T.CaseNumber))
                        {
                            //Should avoid duplicate cases
                        }
                        else
                        {
                            Case c = (Case)records[i];

                            SubjectArray[i]     = c.Subject;
                            CaseNumArray[i]     = c.CaseNumber;
                            OwnerArray[i]       = c.Owner.Name1;
                            CreatorArray[i]     = c.CreatedBy.Name;
                            CreatedDateArray[i] = c.CreatedDate ?? DateTime.Now;
                            TotalHoursArray[i]  = c.Total_Time_Logged__c.Value;
                            DescArray[i]        = c.Description;

                            //Debug.WriteLine(c.CaseNumber + ": " + c.Subject + ": " + c.Owner.Name1 + ": " + c.CreatedBy.Name + ": " + c.CreatedDate + ": " + c.Total_Time_Logged__c);
                        }
                    }
                    logout();
                }
                for (int i = 0; id < records.Length; id++)
                {
                    decimal hours = (decimal)TotalHoursArray[i];
                    using (var ctx = new KanbanBoardWithSignalRAngularJSSolContext())
                    {
                        ctx.Tasks.Add(new Models.Task()
                        {
                            Id                 = task.Id,
                            Name               = SubjectArray[i],
                            Description        = DescArray[i],
                            ColumnId           = task.ColumnId,
                            EmployeeId         = task.EmployeeId,
                            DueDate            = task.DueDate,
                            selectedHours      = hours,
                            EmployeeName       = OwnerArray[i],
                            PmAssignedBy       = CreatorArray[i],
                            PercentageComplete = task.PercentageComplete,
                            CaseNumber         = CaseNumArray[i]
                        });
                        ctx.SaveChanges();
                    }
                }
            }

            void logout()
            {
                binding.logout();
            }

            return(Ok(task));
        }