Ejemplo n.º 1
0
    public void Todo(Observer o)
    {
        int       id    = 1;
        Taskmodel model = null;

        if (!int.TryParse(o.body.ToString(), out id))
        {
            return;
        }
        if (taskproxy.TryGethaveModel(id, out model))
        {
        }
        else
        {
            ALLTaskmodel a;
            if (AllTask.TryGetModel(id, out a))
            {
                model         = new Taskmodel(taskproxy.getMaxid() + 1);
                model.HaveTid = a.id;
                taskproxy.addmodeltolist(model);
                if (a.ischoice)
                {
                    AppFactory.instances.Todo(new Observer("rtask", "else"));
                }
                else
                {
                    AppFactory.instances.Todo(new Observer("rtask", "main"));
                }
            }
        }
    }
        public async Task <IHttpActionResult> GetTaskmodel(int id)
        {
            Taskmodel taskmodel = await db.Tasks.FindAsync(id);

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

            return(Ok(taskmodel));
        }
        public async Task <IHttpActionResult> DeleteTaskmodel(int id)
        {
            Taskmodel taskmodel = await db.Tasks.FindAsync(id);

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

            db.Tasks.Remove(taskmodel);
            await db.SaveChangesAsync();

            return(Ok(taskmodel));
        }
        public async Task <IHttpActionResult> PostTaskmodel(TaskViewModel taskmodel)
        {
            //if (!ModelState.IsValid)
            //{
            //    return BadRequest(ModelState);
            //}
            Story     story = db.Stories.FirstOrDefault(e => e.id == taskmodel.storyId);
            Taskmodel task  = new Taskmodel();

            task.story       = story;
            task.name        = taskmodel.name;
            task.description = taskmodel.description;
            task.priority    = taskmodel.priority;
            task.estimate    = taskmodel.estimate;
            task.status      = taskmodel.status;
            task.createdAt   = DateTime.Now;
            db.Tasks.Add(task);
            await db.SaveChangesAsync();

            return(CreatedAtRoute("DefaultApi", new { id = task.id }, task));
        }
        public async Task <IHttpActionResult> PutTaskmodel(int id, TaskViewModel taskmodel)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != taskmodel.id)
            {
                return(BadRequest());
            }
            Story     story = db.Stories.FirstOrDefault(e => e.id == taskmodel.storyId);
            Taskmodel task  = new Taskmodel();

            task.story           = story;
            task.name            = taskmodel.name;
            task.description     = taskmodel.description;
            task.priority        = taskmodel.priority;
            task.estimate        = taskmodel.estimate;
            task.status          = taskmodel.status;
            db.Entry(task).State = EntityState.Modified;
            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TaskmodelExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 6
0
        public ActionResult AddTask(int ProjectId, int PhaseId, string PhaseName, int PhaseStatus, string TaskName, int Taskstatus, DateTime StartDate, DateTime EndDate, int Efforts)
        {
            try
            {
                DateTime startdate;
                DateTime enddate;

                //startdate = (DateTime)db.ProjectPhases.FirstOrDefault(x => x.Phase == PhaseName).StartDate;
                //enddate = (DateTime)db.ProjectPhases.FirstOrDefault(x => x.Phase == PhaseName).EndDate;

                startdate = (DateTime)db.ProjectPhases.Where(x => x.ProjectPhaseId == PhaseId).Select(o => o.StartDate).FirstOrDefault();
                enddate   = (DateTime)db.ProjectPhases.Where(x => x.ProjectPhaseId == PhaseId).Select(o => o.EndDate).FirstOrDefault();

                string start = startdate.ToString("dd/MM/yyyy");
                string end   = enddate.ToString("dd/MM/yyyy");

                var userId      = (int)Session["UserId"];
                var already     = db.TS_Task.Where(x => x.StartDate == StartDate && x.EndDATE == EndDate && x.ProjectName == ProjectId && x.TaskName == TaskName && (x.IsDelete == false || x.IsDelete == null)).Select(o => o).FirstOrDefault();
                var alreadyname = db.TS_Task.Where(x => x.ProjectName == ProjectId && x.TaskName == TaskName).Select(o => o).FirstOrDefault();

                var exist = db.TS_Task.Where(x => (x.StartDate == StartDate || x.EndDATE == EndDate) && x.ProjectName == ProjectId && x.TaskName == TaskName && (x.IsDelete == false || x.IsDelete == null)).Select(o => o).FirstOrDefault();

                var avail = db.TS_Task.Where(x => x.ProjectName == ProjectId && x.TaskName == TaskName && (x.IsDelete == false || x.IsDelete == null)).Select(o => o).FirstOrDefault();

                bool overlapping = db.ProjectPhases.FirstOrDefault(x => EntityFunctions.TruncateTime(x.StartDate) <= EntityFunctions.TruncateTime(StartDate) &&
                                                                   EntityFunctions.TruncateTime(x.EndDate) >= EntityFunctions.TruncateTime(EndDate) && x.Phase == PhaseName && x.IsACTIVE == true) != null;

                int y = 0;


                List <int> Total = new List <int>();

                Total = db.TS_Task.Where(x => x.PhaseNameId == PhaseId && x.ISACTIVE == true).Select(o => o.NoOfEfforts).ToList();

                for (int z = 0; z < Total.Count(); z++)
                {
                    y += Total[z];
                }


                if (!overlapping)
                {
                    var result = new { message = "timeexceed", sdate = start, edate = end };
                    return(Json(new { message = "timeexceed", sdate = start, edate = end }));
                }
                if (already != null || alreadyname != null)
                {
                    return(Json("AlreadyAssigned", JsonRequestBehavior.AllowGet));
                }

                if (exist != null)
                {
                    return(Json("exist", JsonRequestBehavior.AllowGet));
                }

                if (avail != null)
                {
                    return(Json("avail", JsonRequestBehavior.AllowGet));
                }

                var value = db.ProjectPhases.Where(x => x.ProjectPhaseId == PhaseId && x.IsACTIVE == true).Select(o => o.NoOfEfforts).FirstOrDefault();
                if ((y + Efforts) > value)
                {
                    return(Json("greater", JsonRequestBehavior.AllowGet));
                }


                else
                {
                    var objtsk = db.TS_Task.CreateObject();
                    objtsk.UserId      = userId;
                    objtsk.ProjectName = ProjectId;
                    objtsk.PhaseNameId = PhaseId;
                    objtsk.PhaseName   = PhaseName;
                    objtsk.PhaseStatus = PhaseStatus;
                    objtsk.TaskName    = TaskName;
                    objtsk.TaskStatus  = Taskstatus;
                    objtsk.StartDate   = StartDate;
                    objtsk.EndDATE     = EndDate;
                    objtsk.NoOfEfforts = Efforts;
                    objtsk.ISACTIVE    = true;
                    objtsk.IsDelete    = false;
                    objtsk.IsOpened    = true;
                    db.TS_Task.AddObject(objtsk);
                    db.SaveChanges();
                }
                Taskmodel obj = new Taskmodel();
                obj.newtask         = 1;
                TempData["newtask"] = 1;
            }
            catch (Exception Ex)
            {
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                ExceptionHandlingController.ExceptionDetails(Ex, actionName, controllerName);
            }
            return(Json("Success", JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 7
0
        public ActionResult AssignNewTask(AssignTaskModel model)
        {
            try{
                DSRCManagementSystemEntities1 db = new DSRCManagementSystemEntities1();

                var employeecount = model.SelectedEmpList.Count();
                var name          = model.Taskid;
                var Name          = db.TS_Task.Where(x => x.TaskId == name).Select(o => o.TaskName).FirstOrDefault();

                string   UserName = "";
                DateTime startdate;
                DateTime enddate;
                foreach (int id in model.SelectedEmpList)
                {
                    UserName  = db.Users.Where(o => o.UserID == id).Select(o => o.FirstName + " " + o.LastName ?? "").FirstOrDefault();
                    startdate = (DateTime)db.TS_Task.FirstOrDefault(x => x.TaskId == model.Taskid).StartDate;
                    enddate   = (DateTime)db.TS_Task.FirstOrDefault(x => x.TaskId == model.Taskid).EndDATE;
                    string start    = startdate.ToString("dd/MM/yyyy");
                    string end      = enddate.ToString("dd/MM/yyyy");
                    string fdate    = Convert.ToString(model.StartDate);
                    string tdate    = Convert.ToString(model.EndDate);
                    var    fromdate = DateTime.Parse(fdate);
                    var    todate   = DateTime.Parse(tdate);

                    bool overlapping = db.TS_Task.FirstOrDefault(x => EntityFunctions.TruncateTime(x.StartDate) <= EntityFunctions.TruncateTime(fromdate) &&
                                                                 EntityFunctions.TruncateTime(x.EndDATE) >= EntityFunctions.TruncateTime(todate) && x.TaskId == model.Taskid && x.ISACTIVE == true) != null;


                    var helpfromassign = db.TS_AssignedTask.Where(x => x.TaskName == model.Taskid).Select(o => o).FirstOrDefault();

                    var TaskName = db.TS_Task.Where(x => x.ProjectName == model.ProjectId && x.TaskName == model.Task).Select(o => o.TaskId).FirstOrDefault();


                    //startdateassign =(DateTime) db.TS_AssignedTask.FirstOrDefault(x => x.ProjectId == model.ProjectId).StartDate;

                    //enddateassign = (DateTime)db.TS_AssignedTask.FirstOrDefault(x => x.ProjectId == model.ProjectId).EndDate;

                    //string Start = startdateassign.ToString("dd/MM/yyyy");
                    //string End = enddateassign.ToString("dd/MM/yyyy");
                    //string Fdate = Convert.ToString(model.StartDate);
                    //string Tdate = Convert.ToString(model.EndDate);
                    //var Fromdate = DateTime.Parse(Fdate);
                    //var Todate = DateTime.Parse(Tda

                    var value = db.TS_Task.Where(x => x.TaskId == model.Taskid && x.ISACTIVE == true).Select(o => o.NoOfEfforts).FirstOrDefault();

                    int?y = 0;


                    List <int?> Total = new List <int?>();

                    Total = db.TS_AssignedTask.Where(x => x.TaskName == model.Taskid && x.IsActive == true).Select(o => o.NoOfEfforts).ToList();

                    for (int z = 0; z < Total.Count(); z++)
                    {
                        y += Total[z];
                    }

                    if ((employeecount * model.NumberOfEfforts) > value || (value < model.NumberOfEfforts) || (y + model.NumberOfEfforts) > value)
                    {
                        return(Json("Greater", JsonRequestBehavior.AllowGet));
                    }

                    bool overlap = db.TS_AssignedTask.FirstOrDefault(x =>
                                                                     EntityFunctions.TruncateTime(x.StartDate) <= EntityFunctions.TruncateTime(fromdate) &&
                                                                     EntityFunctions.TruncateTime(x.EndDate) >= EntityFunctions.TruncateTime(todate) && x.Employees == id && x.IsActive == true && x.ProjectId == model.ProjectId && x.Task == model.Task) != null;

                    if (!overlapping)
                    {
                        var result = new { message = "timeexceed", sdate = start, edate = end };
                        return(Json(new { message = "timeexceed", sdate = start, edate = end }));
                    }
                    if (overlap)
                    {
                        var result = new { message = "Already", name = UserName };
                        return(Json(new { message = "Already", name = UserName }));
                    }
                }

                //foreach (int id in model.SelectedEmpList)
                //{
                //    var Assignobj = db.TS_AssignedTask.CreateObject();

                //    Assignobj.ProjectId = model.ProjectId;
                //    Assignobj.PhaseName = model.ProjectphaseId;
                //    Assignobj.TaskName = model.Taskid;
                //    Assignobj.NoOfEfforts = model.NumberOfEfforts;
                //    Assignobj.Employees = id;
                //    Assignobj.StartDate = model.StartDate;
                //    Assignobj.EndDate = model.EndDate;
                //    Assignobj.IsActive = true;
                //    Assignobj.ISdelete = false;
                //    Assignobj.TaskStatus= model.tasktypeid;
                //    Assignobj.Approved = false;
                //    Assignobj.Isreject = false;
                //    Assignobj.Task=model.Task;
                //    db.TS_AssignedTask.AddObject(Assignobj);
                //    db.SaveChanges();
                //}
                var Assignobj = db.TS_AssignedTask.CreateObject();

                Assignobj.ProjectId         = model.ProjectId;
                Assignobj.PhaseName         = model.ProjectphaseId;
                Assignobj.TaskName          = model.Taskid;
                Assignobj.NoOfEfforts       = model.NumberOfEfforts;
                Assignobj.SelectedEmployess = model.multiselectemployees;
                // Assignobj.Employees = Convert.ToInt32(model.SelectedEmpList[i]);
                Assignobj.StartDate  = model.StartDate;
                Assignobj.EndDate    = model.EndDate;
                Assignobj.IsActive   = true;
                Assignobj.ISdelete   = false;
                Assignobj.TaskStatus = model.tasktypeid;
                Assignobj.Approved   = false;
                Assignobj.Isreject   = false;
                Assignobj.Task       = Name;
                Assignobj.flag       = 0;
                Assignobj.Task       = model.Task;

                db.TS_AssignedTask.AddObject(Assignobj);
                db.SaveChanges();

                for (int i = 0; i < model.SelectedEmpList.Count(); i++)
                {
                    DSRCManagementSystem.TS_AssignedTask obj = new DSRCManagementSystem.TS_AssignedTask();

                    obj.ProjectId         = model.ProjectId;
                    obj.PhaseName         = model.ProjectphaseId;
                    obj.TaskName          = model.Taskid;
                    obj.NoOfEfforts       = model.NumberOfEfforts;
                    obj.SelectedEmployess = model.multiselectemployees;
                    obj.Employees         = Convert.ToInt32(model.SelectedEmpList[i]);
                    obj.StartDate         = model.StartDate;
                    obj.EndDate           = model.EndDate;
                    obj.Task       = Name;
                    obj.IsActive   = true;
                    obj.ISdelete   = false;
                    obj.TaskStatus = model.tasktypeid;
                    obj.Approved   = false;
                    obj.Isreject   = false;
                    obj.flag       = 1;
                    obj.Task       = model.Task;
                    db.TS_AssignedTask.AddObject(obj);
                    db.SaveChanges();
                }

                Taskmodel oj = new Taskmodel();
                oj.newassigntask          = 1;
                TempData["newassigntask"] = 1;
            }
            catch (Exception Ex)
            {
                string actionName     = this.ControllerContext.RouteData.Values["action"].ToString();
                string controllerName = this.ControllerContext.RouteData.Values["controller"].ToString();
                ExceptionHandlingController.ExceptionDetails(Ex, actionName, controllerName);
            }
            return(Json("Success", JsonRequestBehavior.AllowGet));
        }