public ActionResult PunchIntoProject(int projectID)
        {
            var rlt             = new ResultModel();
            var currentDateTime = DateTime.Now;
            var model           = new ProjectActivity()
            {
                UserID    = SessionItems.CurrentUser.UserID,
                StartTime = currentDateTime,
                EndTime   = currentDateTime,
                Status    = ProjectActivityTypes.Open.ToString(),
                ProjectID = projectID,
                Title     = new Project().GetStringValueFromExpression(x => x.id == projectID, x => x.Name)
            };

            try
            {
                rlt = model.Insert();
                rlt.ObjectResult = model;
            }
            catch (Exception e)
            {
                throw e;
            }
            return(new JsonResult()
            {
                Data = rlt
            });
        }
        public async Task <ActionResult> Details(int?id)
        {
            #region USERVALIDATION
            token = (string)(Session["accessToken"]);
            string userID = (string)(Session["UserID"]);
            #endregion

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            List <ProjectActivity> projectActivity = new List <ProjectActivity>();


            using (var client = new HttpClient())
            {
                client.BaseAddress = new Uri(baseurl);
                client.DefaultRequestHeaders.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
                HttpResponseMessage Res = await client.GetAsync($"api/ProjectActivities/{id}");

                if (Res.IsSuccessStatusCode)
                {
                    var             projectActivityResponse = Res.Content.ReadAsStringAsync().Result;
                    ProjectActivity myProjectActivity       = JsonConvert.DeserializeObject <ProjectActivity>(projectActivityResponse);
                    return(View(myProjectActivity));
                }
                else
                {
                    this.AddNotification("Unable to display Project Activity information,please contact Administrator" + Res, NotificationType.ERROR);
                    return(View());
                }
            }
        }
Пример #3
0
        public static bool EditActivity(ProjectActivity Actv)
        {


            try
            {
                db = new UcasProEntities();
                db.Configuration.LazyLoadingEnabled = false;
                db.Configuration.ProxyCreationEnabled = false;
                var q = db.ProjectActivities.Where(p => p.ID == Actv.ID).SingleOrDefault();
                q.ActivityName = Actv.ActivityName;
                q.Description = Actv.Description;
                q.StartDate = Actv.StartDate;
                q.EndDate = Actv.EndDate;
                q.TotalCost = Actv.TotalCost;
                q.Status = Actv.Status;
          

                db.SaveChanges();
                return true;

            }
            catch (Exception ex)
            {


                Xprema.XpremaException e = new Xprema.XpremaException();
                e.CodeNumber = 6;
                e.OtherDescription = ex.InnerException.InnerException.Message;
                e.UserDescription = "Error in Save Changed";
                e.UserDescriptionArabic = "خطاء في حفظ البيانات";
                throw e;
            }
        }
        /**/

        /*
         * NAME:
         *      UsersController - constructor for the UsersController class
         * SYNOPSIS:
         *      UsersController(IAppUsersRepo usersRepo, IProjectsRepo projectsRepo, UserManager userManager, ProjectActivity projectActivity)
         *           usersRepo --> the ProjectManager application users repository that is injected as a dependency injection
         *          projectsRepo --> the ProjectManager application projects repository that is injected as a dependency injection
         *          userManager --> an instance of the UserManager class, which is a class provided by Asp.Net Core Identity to handle
         *                          use registration and retrieval
         *          projectActivity --> an instance of the ProjectActivity class that is injected as a dependency injection
         * DESCRIPTION:
         *      Initializes the UsersController class
         * RETURNS
         * AUTHOR
         *      Biplab Thapa Magar
         * DATE
         *      10/06/2020
         * /
         * /**/
        public UsersController(UserManager <AppUser> userManager, IAppUsersRepo usersRepo, IProjectsRepo projectsRepo, ProjectActivity projectActivity)
        {
            _usersRepo       = usersRepo;
            _projectsRepo    = projectsRepo;
            _userManager     = userManager;
            _projectActivity = projectActivity;
        }
        public void TypeGetSetTest()
        {
            ProjectActivity activity = new ProjectActivity();

            activity.Type = "testing";
            Assert.AreEqual("testing", activity.Type);
        }
Пример #6
0
        public async Task <IActionResult> UpdateBoard([FromBody] UpdateVersionBoardViewModel model)
        {
            var issue = Database.Issue
                        .Include(i => i.ProjectVersion)
                        .Where(i => i.Id == model.IssueId)
                        .FirstOrDefault();

            issue.StatusId = model.StatusId;

            int userId = int.Parse(User.Claims.First(c => c.Type == "UserId").Value);

            ProjectActivity activity = new ProjectActivity
            {
                ProjectId = issue.ProjectVersion.ProjectId,
                AuthorId  = userId,
                Content   = $"Updated issue '#{issue.Id}: {issue.Subject}'"
            };

            Database.ProjectActivity.Add(activity);

            await Database.SaveChangesAsync();

            return(Json(new
            {
                status = true
            }));
        }
        public ActionResult PunchOutProject(int projectID, string comment)
        {
            var rlt             = new ResultModel();
            var currentDateTime = DateTime.Now;
            var userID          = SessionItems.CurrentUser.UserID;
            var currentClockInProjectActivity = new ProjectActivity().GetObjectValueFromExpression(x => x.UserID == userID && x.ProjectID == projectID && x.StartTime == x.EndTime, y => y.StartTime);

            if (currentClockInProjectActivity == null || currentClockInProjectActivity.id == 0)
            {
                rlt.BooleanResult = false;
                rlt.StringResult  = "Current user did not clock in to this project, please refresh the page!";
            }
            else
            {
                try
                {
                    currentClockInProjectActivity.EndTime  = currentDateTime;
                    currentClockInProjectActivity.Comments = comment;
                    currentClockInProjectActivity.Status   = ProjectActivityTypes.Close.ToString();
                    rlt = currentClockInProjectActivity.SaveOrUpDate();
                }
                catch (Exception)
                {
                    rlt.BooleanResult = false;
                    rlt.StringResult  = "Fail to clock out of the project! Please refresh the page and try again!";
                }
            }
            return(new JsonResult()
            {
                Data = rlt
            });
        }
Пример #8
0
        public async Task <IActionResult> Delete(string projectUrl, string versionUrl, int issueId)
        {
            var issue = Database.Issue
                        .Where(i => i.Id == issueId)
                        .FirstOrDefault();

            var version = Database.ProjectVersion
                          .Where(v => v.Id == issue.ProjectVersionId)
                          .FirstOrDefault();

            Database.Remove(issue);

            int userId = int.Parse(User.Claims.First(c => c.Type == "UserId").Value);

            var user = Database.User
                       .Where(u => u.Id == userId)
                       .FirstOrDefault();

            await Database.SaveChangesAsync();

            ProjectActivity activity = new ProjectActivity
            {
                ProjectId = version.ProjectId,
                AuthorId  = userId,
                Content   = $"Deleted issue '#{issue.Id}: {issue.Subject}'"
            };

            Database.ProjectActivity.Add(activity);

            await Database.SaveChangesAsync();

            return(RedirectToAction("Index", "Version", new { projectUrl = projectUrl, versionUrl = versionUrl }));
        }
Пример #9
0
 public void UpdateProjectActivity(ProjectActivity activity)
 {
     using (SqlConnection connection = SqlHelper.GetOpenConnection())
     {
         connection.Update(activity);
     }
 }
Пример #10
0
        public async Task <IActionResult> UpdateWiki([FromBody] UpdateProjectWikiViewModel model, string projectUrl)
        {
            var project = Database.Project
                          .Where(p => p.Url == projectUrl)
                          .FirstOrDefault();

            project.Wiki = model.Content;

            int userId = int.Parse(User.Claims.First(c => c.Type == "UserId").Value);

            var user = Database.User
                       .Where(u => u.Id == userId)
                       .FirstOrDefault();

            await Database.SaveChangesAsync();

            ProjectActivity activity = new ProjectActivity
            {
                ProjectId = project.Id,
                AuthorId  = userId,
                Content   = $"Project WIKI updated"
            };

            Database.ProjectActivity.Add(activity);

            await Database.SaveChangesAsync();

            return(Json(new
            {
                status = true
            }));
        }
Пример #11
0
        public async Task <IActionResult> UpdateAssignment([FromBody] UpdateProjectAssignmentViewModel model, string projectUrl)
        {
            var assignment = Database.ProjectAssignment
                             .Where(a => a.Id == model.AssignmentId)
                             .FirstOrDefault();

            assignment.RoleId = model.RoleId;

            var user = Database.User
                       .Where(u => u.Id == assignment.AssigneeId)
                       .FirstOrDefault();

            string roleName = Database.ProjectAssignmentRole
                              .Where(r => r.Id == model.RoleId)
                              .Select(r => r.Name)
                              .FirstOrDefault();

            int             userId   = int.Parse(User.Claims.First(c => c.Type == "UserId").Value);
            ProjectActivity activity = new ProjectActivity
            {
                ProjectId = assignment.ProjectId,
                AuthorId  = userId,
                Content   = $"{user.FirstName} {user.LastName} was re-assigned as {roleName}"
            };

            Database.ProjectActivity.Add(activity);

            await Database.SaveChangesAsync();

            return(Json(new
            {
                status = true,
                url = Url.Action("Assignments")
            }));
        }
Пример #12
0
        public async Task <IActionResult> AddActivity(int projectId, int activityTypeId, DateTime activityDate, string notes)
        {
            int success = 0;

            try
            {
                if (ModelState.IsValid)
                {
                    ProjectActivity activity = new ProjectActivity();

                    activity.ProjectId      = projectId;
                    activity.ActivityTypeId = activityTypeId;
                    activity.ActivityDate   = activityDate;
                    activity.Notes          = notes;
                    _context.Add(activity);
                    await _context.SaveChangesAsync();

                    success = 1;
                }
            }
            catch (DbUpdateException)
            {
                ModelState.AddModelError("", "Unable to add activity. Try again and if the problem persists see your system administrator.");
            }

            return(Json(success));
        }
Пример #13
0
 public int CreateProjectActivity(ProjectActivity activity)
 {
     using (SqlConnection connection = SqlHelper.GetOpenConnection())
     {
         int projectId = connection.Insert(activity);
         return(projectId);
     }
 }
Пример #14
0
        public ActionResult DeleteConfirmed(int id)
        {
            ProjectActivity projectActivity = db.ProjectActivity.Find(id);

            db.ProjectActivity.Remove(projectActivity);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #15
0
        public async Task <IActionResult> Update(UpdateProjectViewModel model, [FromRoute] string projectUrl)
        {
            if (ModelState.IsValid)
            {
                if (model.StartDate > model.DueDate)
                {
                    ModelState.AddModelError("DueDate", "Due date cannot be before start date.");
                    return(View(model));
                }

                int userId = int.Parse(User.Claims.First(c => c.Type == "UserId").Value);

                Project project = Database.Project
                                  .Where(p => p.Url == projectUrl)
                                  .FirstOrDefault();

                int access = Database.ProjectAssignment
                             .Include(a => a.Role)
                             .Where(a => a.ProjectId == project.Id && a.AssigneeId == userId && a.Role.Name == "Creator")
                             .Count();

                if (access != 1)
                {
                    return(StatusCode(403));
                }

                string[] routeNames = { "create", "index", "delete" };
                int      urlCount   = Database.Project
                                      .Count(p => p.Url == model.Url && p.Id != project.Id);
                if (urlCount == 0 && !routeNames.Contains(model.Url))
                {
                    project.Name            = model.Name;
                    project.Url             = model.Url;
                    project.Overview        = model.Overview;
                    project.StartDate       = model.StartDate;
                    project.DueDate         = model.DueDate;
                    project.ParentProjectId = model.ParentProjectId == 0 ? null : model.ParentProjectId;

                    ProjectActivity activity = new ProjectActivity
                    {
                        ProjectId = project.Id,
                        AuthorId  = userId,
                        Content   = $"Project information updated"
                    };
                    Database.ProjectActivity.Add(activity);

                    await Database.SaveChangesAsync();

                    return(RedirectToAction("Index", "Project", new { projectUrl = project.Url }));
                }
                else
                {
                    ModelState.AddModelError("Url", "Such url is taken.");
                }
            }

            return(View(model));
        }
        //
        // GET: /ProjectActivity/Details/5

        public ActionResult Details(int id = 0)
        {
            ProjectActivity projectactivity = db.ProjectActivities.Find(id);

            if (projectactivity == null)
            {
                return(HttpNotFound());
            }
            return(View(projectactivity));
        }
Пример #17
0
 public ActionResult Edit([Bind(Include = "Id,Report,ReportDate,UploadTime,TimeStamp,DayOftheWeek")] ProjectActivity projectActivity)
 {
     if (ModelState.IsValid)
     {
         db.Entry(projectActivity).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(projectActivity));
 }
Пример #18
0
        public ProjectActivity Update(ProjectActivity obj, int Ano, string Chapa, string CtjEvalId, AuthUser authUser)
        {
            obj.Chapa = authUser.Chapa;
            obj.Ano   = authUser.ContextoAno;

            var sql          = "UPDATE CTJ_SELFEVALUATIONPROJECTSACTIVITIES SET DETAILS=@Details WHERE ANO=@Ano AND CHAPA=@Chapa AND CTJEVALID=@CtjEvalId";
            int nRowInserted = Db.Database.ExecuteSqlCommand(sql, new[] { new SqlParameter("@Ano", Ano), new SqlParameter("@Chapa", Chapa), new SqlParameter("@CtjEvalId", CtjEvalId), new SqlParameter("@Details", obj.Details) });

            return(obj);
        }
Пример #19
0
        public ProjectActivity Remove(ProjectActivity obj, AuthUser authUser)
        {
            obj.Chapa = authUser.Chapa;
            obj.Ano   = authUser.ContextoAno;

            var sql         = "DELETE FROM CTJ_SELFEVALUATIONPROJECTSACTIVITIES WHERE ANO=@Ano AND CHAPA=@Chapa AND CTJEVALID=@CtjEvalId";
            int nRowDeleted = Db.Database.ExecuteSqlCommand(sql, new[] { new SqlParameter("@Ano", obj.Ano), new SqlParameter("@Chapa", obj.Chapa), new SqlParameter("@CtjEvalId", obj.CtjEvalId) });

            return(obj);
        }
Пример #20
0
        public ProjectActivity Save(ProjectActivity obj, AuthUser authUser)
        {
            obj.Chapa = authUser.Chapa;
            obj.Ano   = authUser.ContextoAno;

            var sql          = "INSERT INTO CTJ_SELFEVALUATIONPROJECTSACTIVITIES (ANO, CHAPA, CTJEVALID, DETAILS) VALUES(@Ano, @Chapa, @CtjEvalId, @Details)";
            int nRowInserted = Db.Database.ExecuteSqlCommand(sql, new[] { new SqlParameter("@Ano", obj.Ano), new SqlParameter("@Chapa", obj.Chapa), new SqlParameter("@CtjEvalId", obj.CtjEvalId), new SqlParameter("@Details", obj.Details) });

            return(obj);
        }
Пример #21
0
        public ActionResult Create([Bind(Include = "Id,Report,ReportDate,UploadTime,TimeStamp,DayOftheWeek")] ProjectActivity projectActivity)
        {
            if (ModelState.IsValid)
            {
                db.ProjectActivities.Add(projectActivity);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(projectActivity));
        }
Пример #22
0
        public void UpdateProjectActivity(ActivityModel goalModel)
        {
            // Mapp to backend model
            var activity = new ProjectActivity();

            if (goalModel != null)
            {
                activity = ApplicationMapper.MapProjectActivity(goalModel);
            }
            // Create P.Activity
            projectRepository.UpdateProjectActivity(activity);
        }
Пример #23
0
        public int CreateProjectActivity(ActivityModel activityModel)
        {
            // Mapp to backend model
            var activity = new ProjectActivity();

            if (activityModel != null)
            {
                activity = ApplicationMapper.MapProjectActivity(activityModel);
            }
            // Create P.Goal
            return(projectRepository.CreateProjectActivity(activity));
        }
Пример #24
0
        public void StreamToXMLFullConstructorTest()
        {
            string                 projectName              = "full test";
            string                 category                 = "categ1";
            ProjectActivity        activity                 = ProjectActivity.Building;
            IntegrationStatus      buildStatus              = IntegrationStatus.Failure;
            ProjectIntegratorState status                   = ProjectIntegratorState.Stopped;
            string                 webURL                   = "someurl";
            DateTime               lastBuildDate            = DateTime.Now;
            string                 lastBuildLabel           = "lastLabel";
            string                 lastSuccessfulBuildLabel = "lastSuccess";
            DateTime               nextBuildTime            = DateTime.Now.AddDays(2);
            string                 buildStage               = "some stage";
            string                 queue    = "someQueue";
            int queuePriority               = 25;
            List <ParameterBase> parameters = new List <ParameterBase>();

            ProjectStatus projectStatus = new ProjectStatus(projectName, category, activity, buildStatus,
                                                            status, webURL, lastBuildDate, lastBuildLabel,
                                                            lastSuccessfulBuildLabel, nextBuildTime, buildStage,
                                                            queue, queuePriority, parameters);

            XmlSerializer           serializer = new XmlSerializer(typeof(ProjectStatus));
            TextWriter              writer     = new StringWriter();
            XmlSerializerNamespaces nmsp       = new XmlSerializerNamespaces();

            nmsp.Add("", "");

            serializer.Serialize(writer, projectStatus, nmsp);

            Assert.AreEqual("<?xml version=\"1.0\" encoding=\"utf-16\"?>" + Environment.NewLine +
                            "<projectStatus " +
                            "stage=\"" + buildStage + "\" " +
                            "showForceBuildButton=\"true\" " +
                            "showStartStopButton=\"true\" " +
                            "serverName=\"" + Environment.MachineName + "\" " +
                            "status=\"" + status.ToString() + "\" " +
                            "buildStatus=\"" + buildStatus.ToString() + "\" " +
                            "name=\"" + projectName + "\" " +
                            "category=\"" + category + "\" " +
                            "queueName=\"" + queue + "\" " +
                            "queuePriority=\"" + queuePriority.ToString() + "\" " +
                            "url=\"" + webURL + "\" " +
                            "lastBuildDate=\"" + lastBuildDate.ToString("yyyy-MM-ddTHH:mm:ss.FFFFFFF") + "\" " +
                            "lastBuildLabel=\"" + lastBuildLabel + "\" " +
                            "lastSuccessfulBuildLabel=\"" + lastSuccessfulBuildLabel + "\" " +
                            "nextBuildTime=\"" + nextBuildTime.ToString("yyyy-MM-ddTHH:mm:ss.FFFFFFF") + "\"" +
                            ">" + Environment.NewLine +
                            "  <activity type=\"" + activity.ToString() + "\" />" + Environment.NewLine +
                            "  <parameters />" + Environment.NewLine +
                            "</projectStatus>",
                            writer.ToString());
        }
        //
        // GET: /ProjectActivity/Edit/5

        public ActionResult Edit(int id = 0)
        {
            ProjectActivity projectactivity = db.ProjectActivities.Find(id);

            if (projectactivity == null)
            {
                return(HttpNotFound());
            }
            ViewBag.OwnerUserID   = new SelectList(db.UserProfiles, "UserId", "UserName", projectactivity.OwnerUserID);
            ViewBag.ProjectTypeID = new SelectList(db.ProjectTypes, "ProjectTypeID", "Description", projectactivity.ProjectTypeID);
            return(View(projectactivity));
        }
 public ActionResult Edit(ProjectActivity projectactivity)
 {
     if (ModelState.IsValid)
     {
         db.Entry(projectactivity).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.OwnerUserID   = new SelectList(db.UserProfiles, "UserId", "UserName", projectactivity.OwnerUserID);
     ViewBag.ProjectTypeID = new SelectList(db.ProjectTypes, "ProjectTypeID", "Description", projectactivity.ProjectTypeID);
     return(View(projectactivity));
 }
Пример #27
0
 public ProjectActivity Post([FromBody] ProjectActivity ProjectActivity)
 {
     if (ModelState.IsValid)
     {
         Project Project = _Projects.GetProject(ProjectActivity.ProjectId);
         if (Project != null && Project.ModuleId == _entityId)
         {
             ProjectActivity = _Projects.AddProjectActivity(ProjectActivity);
             _logger.Log(LogLevel.Information, this, LogFunction.Create, "Project Activity Added {ProjectActivity}", ProjectActivity);
         }
     }
     return(ProjectActivity);
 }
        public ActionResult Create(ProjectActivity projectactivity)
        {
            if (ModelState.IsValid)
            {
                db.ProjectActivities.Add(projectactivity);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.OwnerUserID = new SelectList(db.UserProfiles, "UserId", "UserName", projectactivity.OwnerUserID);
            ViewBag.ProjectTypeID = new SelectList(db.ProjectTypes, "ProjectTypeID", "Description", projectactivity.ProjectTypeID);
            return View(projectactivity);
        }
Пример #29
0
        public bool LogEntry(ProjectActivity activity)
        {
            var s = Enum.GetName(typeof(Activity), activity.Activity);

            WebDriver.FindElement(By.Id("time_entry_hours")).SendKeys(activity.Hours.ToString());
            WebDriver.FindElement(By.Id("time_entry_spent_on")).SendKeys(activity.Date.ToString("MM/DD/YYYY"));
            WebDriver.FindElement(By.Id("time_entry_comments")).SendKeys(activity.Comment);
            var activityDrop   = WebDriver.FindElement(By.Id("time_entry_activity_id"));
            var selectActivity = new SelectElement(activityDrop);

            selectActivity.SelectByText(s);
            return(true);
        }
Пример #30
0
        static void Main(string[] args)
        {
            using (var db = new AppContext())
            {
                var activity = new Activity
                {
                    Name = "Activity 1"
                };

                var project = new Project
                {
                    Name = "Test 1",
                };

                var projectActivity = new ProjectActivity
                {
                    Project  = project,
                    Activity = activity
                };

                db.Projects.Add(project);
                db.Activities.Add(activity);
                db.ProjectActivities.Add(projectActivity);


                db.PrivateEvents.Add(new PrivateEvent()
                {
                    Name            = "Private Event",
                    ProjectActivity = projectActivity
                });

                db.AdHocEvents.Add(new AdHocEvent
                {
                    Name            = "AdHoc Event",
                    ProjectActivity = projectActivity
                });


                var count = db.SaveChanges();

//                Console.WriteLine("{0} records saved to database", count);
//
//                Console.WriteLine();
//                Console.WriteLine("All projects in database:");
//                foreach (var p in db.Projects.Include(x => x.ProjectActivities))
//                {
//                    Console.WriteLine(p.ProjectActivities.Count);
//                    Console.WriteLine("{0} - {1}", p.Id, p.Name);
//                }
            }
        }
Пример #31
0
        // GET: ProjectActivity/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjectActivity projectActivity = db.ProjectActivity.Find(id);

            if (projectActivity == null)
            {
                return(HttpNotFound());
            }
            return(View(projectActivity));
        }
Пример #32
0
        public async Task <IActionResult> CreateAssignments([FromBody] CreateIssueAssignmentsViewModel model, int issueId)
        {
            foreach (int id in model.UserIdList)
            {
                var assignment = new IssueAssignment
                {
                    AssigneeId = id,
                    IssueId    = issueId,
                    RoleId     = model.RoleId
                };

                Database.IssueAssignment.Add(assignment);
            }

            int userId = int.Parse(User.Claims.First(c => c.Type == "UserId").Value);

            var user = Database.User
                       .Where(u => u.Id == userId)
                       .FirstOrDefault();

            var issue = Database.Issue
                        .Include(i => i.ProjectVersion)
                        .Where(i => i.Id == issueId)
                        .FirstOrDefault();

            string roleName = Database.IssueAssignmentRole
                              .Where(r => r.Id == model.RoleId)
                              .Select(r => r.Name)
                              .FirstOrDefault();

            await Database.SaveChangesAsync();

            ProjectActivity activity = new ProjectActivity
            {
                ProjectId = issue.ProjectVersion.ProjectId,
                AuthorId  = userId,
                Content   = $"{user.FirstName} {user.LastName} was assigned as {roleName} on issue '#{issue.Id}: {issue.Subject}'"
            };

            Database.ProjectActivity.Add(activity);

            await Database.SaveChangesAsync();

            return(Json(new
            {
                status = true,
                url = Url.Action("Assignments")
            }));
        }
Пример #33
0
        public static bool NewActivity(ProjectActivity Actv)
        {
            try
            {
                db = new UcasProEntities();
                db.Configuration.ProxyCreationEnabled = false;
                db.Configuration.LazyLoadingEnabled = false;
                db.ProjectActivities.Add(Actv);
                db.SaveChanges();
                return true;

            }
            catch (Exception ex)
            {

                Xprema.XpremaException e = new Xprema.XpremaException();
                e.CodeNumber = 6;
                e.OtherDescription = ex.InnerException.InnerException.Message;
                e.UserDescription = "Error in Save Changed";
                e.UserDescriptionArabic = "خطاء في اضافة البيانات";
                throw e;
            }
        }