public IActionResult CreateActivity(ActivityViewModels newActivity)
        {
            int?userId = HttpContext.Session.GetInt32("userId");

            if (userId == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (ModelState.IsValid)
            {
                activities activity = new activities
                {
                    name        = newActivity.name,
                    date        = newActivity.date,
                    timeOfEvent = newActivity.timeOfEvent,
                    timeDurInt  = newActivity.timeDurInt,
                    timeType    = newActivity.timeType,
                    description = newActivity.description,
                    userId      = newActivity.userId
                };
                _context.activities.Add(activity);
                _context.SaveChanges();
                int activityId = activity.id;
                return(Redirect($"activity/{activityId}"));
            }
            return(View("Create"));
        }
        public ActionResult Create(int id)
        {
            ViewBag.ActivityTypeId = new SelectList(db.ActivityTypes, "ActivityTypeId", "Type");
            // create a new model
            ActivityViewModels activityModel = new ActivityViewModels();
            Module             module        = db.Modules.Find(id);

            if (module == null)
            {
                return(HttpNotFound());
            }

            activityModel.ModuleId        = id;
            activityModel.ModuleName      = module.Name;
            activityModel.ModuleStartDate = module.StartDate;
            activityModel.ModuleEndDate   = module.EndDate;
            //
            Course course = db.Courses.Find(module.CourseId);

            if (course == null)
            {
                return(HttpNotFound());
            }
            activityModel.CourseName      = course.CourseName;
            activityModel.CourseStartDate = course.StartDate;
            activityModel.CourseEndDate   = course.EndDate;
            //
            activityModel.Start = db.Modules.FirstOrDefault(n => n.ModuleId == id).StartDate;
            activityModel.End   = db.Modules.FirstOrDefault(n => n.ModuleId == id).EndDate;

            ViewBag.DateNotValidMessage = "";
            return(View(activityModel));
        }
        public Tareas(string nProyecto, Token token)
        {
            this.nproyecto = nProyecto;
            this.token     = token;
            InitializeComponent();

            try
            {
                BindingContext = viewModel = new ActivityViewModels(nproyecto);
                if (viewModel.ActividadesList[0].activityInformation.projectName != null)
                {
                    lblProject.Text = viewModel.ActividadesList[0].activityInformation.projectName;
                }
            }
            catch (Exception ex)
            {
                Device.BeginInvokeOnMainThread(async() =>
                {
                    if (App.Current.Properties.ContainsKey("checkIn"))
                    {
                        App.Current.Properties.Remove("checkIn");
                    }

                    await this.DisplayAlert("Error", ex.InnerException.Message, "OK");
                    await this.Navigation.PopAsync(); // or anything else
                });
            }
        }
 public IActionResult newActivity(ActivityViewModels model)
 {
     if (ActiveUser == null)
     {
         return(RedirectToAction("Index", "Home"));
     }
     if (ModelState.IsValid)
     {
         Activity NewActivity = new Activity
         {
             Title         = model.Title,
             Date          = model.Date,
             Time          = model.Time,
             Units         = model.Units,
             Duration      = model.Duration,
             CoordinatorId = ActiveUser.UserId,
             Description   = model.Description,
             CreatedAt     = DateTime.Now,
             UpdatedAt     = DateTime.Now
         };
         _context.Activities.Add(NewActivity);
         _context.SaveChanges();
         return(RedirectToAction("Index", "Activity"));
     }
     return(View("Create"));
 }
        public IEnumerable <ActivityViewModels> PostActivity(ActivityViewModels activity)
        {
            string categoryId = null;
            int    userID     = 0;
            Random rnd        = new Random();
            int    taskid     = rnd.Next(1, 999);

            if (activity.categoryName != null)
            {
                List <Category> cat = db.Categories.Where(p => p.name == activity.categoryName).ToList();
                if (cat[0] != null)
                {
                    categoryId = cat[0].catId;
                }
            }

            if (activity.assignee != null)
            {
                List <User_TuTU> user = db.UserTu_Tu.Where(p => p.name == activity.assignee).ToList();
                if (user[0] != null)
                {
                    userID = user[0].uid;
                }
            }

            DateTime today = DateTime.Today;
            Activity act   = new Activity();

            act.actId       = "task" + taskid;
            act.title       = activity.title;
            act.description = activity.description;
            act.categoryId  = categoryId;
            act.date        = today;
            if (activity.expiryDate != null)
            {
                DateTime dt = DateTime.ParseExact(activity.expiryDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);
                act.expiryDate = dt;
            }
            //act.expiryDate= DateTime.Parse(activity.expiryDate);
            act.attachemts   = activity.attachemts;
            act.starCount    = activity.starCount;
            act.status       = activity.status;
            act.assigner     = getUserId(AccountController.uName);
            act.completeness = 0;
            if (activity.assignee != null)
            {
                act.assignee = getUserId(activity.assignee);
            }
            act.assignee = 0;
            if (userID > 0)
            {
                act.assignee = userID;
            }
            db.Activities.Add(act);
            db.SaveChanges();

            return(null);
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Activity activity = db.Activities.Find(id);

            if (activity == null)
            {
                return(HttpNotFound());
            }

            // create a new model
            ActivityViewModels activityModel = new ActivityViewModels();

            activityModel.ActivityId     = activity.ActivityId;
            activityModel.ActivityName   = activity.ActivityName;
            activityModel.ActivityTypeId = activity.ActivityTypeId;
            activityModel.ActivityType   = activity.ActivityType;
            activityModel.Description    = activity.Description;
            activityModel.Start          = activity.Start;
            activityModel.End            = activity.End;
            //
            ViewBag.ActivityTypeId = new SelectList(db.ActivityTypes, "ActivityTypeId", "Type", activity.ActivityTypeId);
            //
            Module module = db.Modules.Find(activity.ModuleId);

            if (module == null)
            {
                return(HttpNotFound());
            }
            activityModel.ModuleId        = activity.ModuleId;
            activityModel.ModuleName      = module.Name;
            activityModel.ModuleStartDate = module.StartDate;
            activityModel.ModuleEndDate   = module.EndDate;
            //
            Course course = db.Courses.Find(module.CourseId);

            if (course == null)
            {
                return(HttpNotFound());
            }
            activityModel.CourseName      = course.CourseName;
            activityModel.CourseStartDate = course.StartDate;
            activityModel.CourseEndDate   = course.EndDate;
            //
            ViewBag.DateNotValidMessage = "";
            return(View(activityModel));
        }
        public ActionResult Edit(int id, Activity activity)
        {
            Module module = db.Modules.Find(id);

            if (module == null)
            {
                return(HttpNotFound());
            }

            ActivityViewModels activityModel = new ActivityViewModels();

            activityModel.ActivityId     = activity.ActivityId;
            activityModel.ActivityName   = activity.ActivityName;
            activityModel.ActivityTypeId = activity.ActivityTypeId;
            activityModel.Description    = activity.Description;
            activityModel.Start          = activity.Start;
            activityModel.End            = activity.End;

            if (module == null)
            {
                return(HttpNotFound());
            }
            activityModel.ModuleId        = activity.ModuleId;
            activityModel.ModuleName      = module.Name;
            activityModel.ModuleStartDate = module.StartDate;
            activityModel.ModuleEndDate   = module.EndDate;
            //
            Course course = db.Courses.Find(module.CourseId);

            if (course == null)
            {
                return(HttpNotFound());
            }
            activityModel.CourseName      = course.CourseName;
            activityModel.CourseStartDate = course.StartDate;
            activityModel.CourseEndDate   = course.EndDate;

            if (db.Activities.FirstOrDefault(a => a.ActivityName == activity.ActivityName && a.ModuleId == activity.ModuleId && a.ActivityId != activity.ActivityId) != null)
            {
                ViewBag.ActivityTypeId      = new SelectList(db.ActivityTypes, "ActivityTypeId", "Type", activity.ActivityTypeId);
                ViewBag.ModuleId            = new SelectList(db.Modules, "ModuleId", "CourseName", activity.ModuleId);
                ViewBag.DateNotValidMessage = "There is already an activity called " + activity.ActivityName + " in the module, please try another name!";
                return(View(activityModel));
            }

            if (DateTime.Compare(activityModel.CourseStartDate.Date, activity.Start.Date) > 0 || DateTime.Compare(activityModel.CourseEndDate.Date, activity.End.Date) < 0 ||
                DateTime.Compare(activityModel.ModuleStartDate.Date, activity.Start.Date) > 0 || DateTime.Compare(activityModel.ModuleEndDate.Date, activity.End.Date) < 0)
            {
                ViewBag.ActivityTypeId      = new SelectList(db.ActivityTypes, "ActivityTypeId", "Type", activity.ActivityTypeId);
                ViewBag.ModuleId            = new SelectList(db.Modules, "ModuleId", "CourseName", activity.ModuleId);
                ViewBag.DateNotValidMessage = "Please make sure that the activity start/end date is within the range of course and module start/end date!";
                return(View(activityModel));
            }
            if (ModelState.IsValid)
            {
                activity.ModuleId = id;
                switch (activityModel.ActivityTypeId)
                {
                case 1:
                    activity.Color = "red";
                    break;

                case 2:
                    activity.Color = "blue";
                    break;

                case 3:
                    activity.Color = "green";
                    break;

                case 4:
                    activity.Color = "navy";
                    break;

                case 5:
                    activity.Color = "purple";
                    break;

                case 6:
                    activity.Color = "black";
                    break;

                default:
                    activity.Color = "gray";
                    break;
                }
                db.Entry(activity).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Edit", "Modules", new { id }));
            }
            ViewBag.ActivityTypeId      = new SelectList(db.ActivityTypes, "ActivityTypeId", "Type", activity.ActivityTypeId);
            ViewBag.ModuleId            = new SelectList(db.Modules, "ModuleId", "CourseName", activity.ModuleId);
            ViewBag.DateNotValidMessage = "";
            return(View(activityModel));
        }