Exemplo n.º 1
0
        public Summary Copy(Summary oldSummary, Summary newSummary)
        {
            oldSummary = _context.Summaries
                .Include("People")
                .Include("SummaryActivities")
                .Include("SummaryActivities.Activity")
                .Single(x => x.Id == oldSummary.Id);
            var activities = oldSummary.SummaryActivities.Select(x => x.Activity);

            return this.Save(newSummary, activities.ToList(), oldSummary.People.ToList());
        }
Exemplo n.º 2
0
        //TODO: как-то по-индусски получилось
        public List<Activity> Activities(Summary summary)
        {
            var result = _context.Activities.Select(x => new
            {
                Id = x.Id,
                Title = x.Title,
                Checked = x.SummaryActivities.Any(xx => xx.SummaryId == summary.Id)
            }).ToArray();

            return result.Select(x => new Activity { Id = x.Id, Title = x.Title, Checked = x.Checked }).ToList();
        }
Exemplo n.º 3
0
 public ActionResult Copy(string oldId, string newTitle)
 {
     int oldSummaryId = 0;
     if (Int32.TryParse(oldId, out oldSummaryId) && !String.IsNullOrEmpty(newTitle))
     {
         MinStatIdentity identity = (MinStatIdentity)this.HttpContext.User.Identity;
         Summary oldSummary = _summaryRep.List().Single(x => x.Id == oldSummaryId);
         Summary newSummary = new Summary
         {
             Title = newTitle,
             CreateDate = DateTime.Now,
             Published = false,
             AuthorName = identity.FullName,
             EnterpriseId = identity.EnterpriseId
         };
         _summaryRep.Copy(oldSummary, newSummary);
     }
     return RedirectToAction("Index");
 }
Exemplo n.º 4
0
        public Summary Save(Summary summary, List<Activity> activities, List<Person> people = null)
        {
            if (summary.Published)
                return summary;

            //using (TransactionScope ts = new TransactionScope())
            {
                if (summary.Id == 0)
                {
                    _context.Summaries.Add(summary);
                }
                else
                {
                    summary = _context.Summaries.Single(x => x.Id == summary.Id);
                    var oldActivities =
                      _context.Summaries
                        .Include("SummaryActivities")
                        .Include("SummaryActivities.Activity")
                        .Single(x => x.Id == summary.Id)
                        .SummaryActivities
                        .Select(x => x.Activity)
                        .ToList();

                    var activitiesToRemove = oldActivities.Except(activities, new ActivityEqualityComparer()).ToList();
                    var activitiesToAdd = activities.Except(oldActivities, new ActivityEqualityComparer()).ToList();
                    activities = activitiesToAdd.ToList();
                    foreach (var activityToRemove in activitiesToRemove)
                    {
                        var summaryActivitiesToRemove =
                          _context.SummaryActivities.Single(x => x.ActivityId == activityToRemove.Id && x.SummaryId == summary.Id);
                        _context.SummaryActivities.Remove(summaryActivitiesToRemove);
                    }
                }
                foreach (var activity in activities)
                {
                    SummaryActivity sa = new SummaryActivity { ActivityId = activity.Id, Summary = summary };
                    _context.SummaryActivities.Add(sa);
                    if (people != null)
                    {
                        foreach (Person person in people.Where(p => p.ActivityId == activity.Id))
                        {
                            Person newPerson = new Person
                            {
                                ActivityId = activity.Id,
                                Summary = summary,
                                BirthDate = person.BirthDate,
                                EducationLevelId = person.EducationLevelId,
                                FirstName = person.FirstName,
                                LastName = person.LastName,
                                Salary = person.Salary,
                                Job = person.Job,
                                JobLevelId = person.JobLevelId
                            };
                            _context.Peoples.Add(newPerson);
                        }

                    }
                }

                _context.SaveChanges();
               // ts.Complete();
                return summary;
            }
        }
Exemplo n.º 5
0
 public IEnumerable<POCO.Person> List(Summary summary, Activity activity)
 {
     var result = _context.Peoples.Where(x => x.ActivityId == activity.Id && x.SummaryId == summary.Id);
       return result;
 }
Exemplo n.º 6
0
        public ActionResult Save(string id, string title, IEnumerable<ActivityViewModel> activities)
        {
            MinStatIdentity identity = (MinStatIdentity)this.HttpContext.User.Identity;
            Summary summary = null;
            List<Activity> acts = activities.Where(x => x.Checked).Select(x => new Activity { Id = Int32.Parse(x.Id) }).ToList();
            int summaryId;
            if (Int32.TryParse(id, out summaryId))
            {
                summary = _summaryRep.List().Single(x => x.Id == summaryId);
            }
            else
            {
                summary = new Summary
                {
                    Title = title,
                    CreateDate = DateTime.Now,
                    Published = false,
                    AuthorName = identity.FullName,
                    EnterpriseId = identity.EnterpriseId
                };
            }

            this._summaryRep.Save(summary, acts);
            return RedirectToAction("Index");
        }