示例#1
0
        private (PersonDisplayModel person, GroupModel team, DayModel day) Get()
        {
            var person = new PersonDisplayModel
            {
                Category    = _reader["category"] as string ?? string.Empty,
                CategoryKey = _reader["category_key"] as string ?? string.Empty,
                FirstName   = _reader["first_name"] as string ?? string.Empty,
                LastName    = _reader["last_name"] as string ?? string.Empty,
                Id          = _reader["person_id"] as long? ?? 0
            };
            var team = new GroupModel
            {
                Id   = _reader["team_id"] as long? ?? 0,
                Name = _reader["team"] as string ?? string.Empty
            };
            var did = (_reader["day"] as long? ?? 0);
            var day = new DayModel
            {
                DayName = did.AsDay(),
                DayId   = did
            };

            return
                (
                person,
                team,
                day
                );
        }
示例#2
0
        private (DayPickupRoundModel day, GroupModel pickupRound, PersonDisplayModel person) Get()
        {
            var did = _reader["day"] as long? ?? 0;
            var day = new DayPickupRoundModel
            {
                DayId   = did,
                DayName = did.AsDay(),
            };
            var person = new PersonDisplayModel
            {
                Category    = _reader["category"] as string ?? string.Empty,
                CategoryKey = _reader["category_key"] as string ?? string.Empty,
                FirstName   = _reader["first_name"] as string ?? string.Empty,
                LastName    = _reader["last_name"] as string ?? string.Empty,
                Id          = _reader["person_id"] as long? ?? 0
            };
            var pickupRound = new GroupModel
            {
                Id   = _reader["pickup_round_id"] as long? ?? 0,
                Name = _reader["pickup_round"] as string ?? string.Empty
            };

            return
                (
                day,
                pickupRound,
                person
                );
        }
示例#3
0
        private bool Has(PersonDisplayModel person, GroupModel pickup)
        {
            var count = (from p in pickup.People
                         where p.Id == person.Id
                         select p).Count();

            return(count > 0);
        }
        // GET: Person
        public async Task <ActionResult> Index()
        {
            var personDisplayModel = new PersonDisplayModel
            {
                Persons = await _personOrchestrator.GetAllPersons()
            };

            return(View(personDisplayModel));
        }
        public static void Add(this GroupModel src, PersonDisplayModel toAdd)
        {
            var exists = (from p in src.People
                          where p.Id == toAdd.Id
                          select p).Count() > 0;

            if (!exists)
            {
                src.People.Add(toAdd);
            }
        }
示例#6
0
        public static void Write(PersonDisplayModel model)
        {
            Console.ForegroundColor = ConsoleColor.Blue;
            Console.Write("Person: ");
            Console.ResetColor();

            if (model == null)
            {
                Console.WriteLine("NULL");
            }
            else
            {
                Console.WriteLine($"[{model.Id}] {model.CategoryKey,9} -  {model.FirstName,15} {model.LastName,-15} -- {model.Category}");
            }
        }
        // Update employee info
        public async Task <IActionResult> UpdatePerson(PersonDisplayModel person)
        {
            PersonModel updatedPerson = new PersonModel
            {
                Id              = person.Id,
                EmployeeID      = person.EmployeeID,
                FirstName       = person.FirstName,
                LastName        = person.LastName,
                EmailAddress    = person.EmailAddress,
                CellPhoneNumber = person.CellPhoneNumber
            };

            await _data.UpdatePerson(updatedPerson);

            return(RedirectToAction("ViewPersons"));
        }
        // Edit employee with database Id = id
        public async Task <IActionResult> EditPerson(int id)
        {
            PersonModel foundPerson = await _data.GetPersonById(id);

            PersonDisplayModel person = new PersonDisplayModel
            {
                Id              = foundPerson.Id,
                EmployeeID      = foundPerson.EmployeeID,
                FirstName       = foundPerson.FirstName,
                LastName        = foundPerson.LastName,
                EmailAddress    = foundPerson.EmailAddress,
                CellPhoneNumber = foundPerson.CellPhoneNumber
            };

            return(View(person));
        }
示例#9
0
        public static IEnumerable <PersonDisplayModel> AsPersonDisplayModel(this IDataReader reader)
        {
            var result = new List <PersonDisplayModel>();

            while (reader.Read())
            {
                var person = new PersonDisplayModel
                {
                    Category    = (reader.HasColumn("Category")) ? reader["Category"] as string : null,
                    FirstName   = (reader.HasColumn("FirstName")) ? reader["FirstName"] as string : null,
                    Id          = (reader.HasColumn("Id")) ? (long)reader["Id"] : default(long),
                    CategoryKey = (reader.HasColumn("CategoryKey")) ? reader["CategoryKey"] as string : null,
                    LastName    = (reader.HasColumn("LastName")) ? reader["LastName"] as string : null,
                };
                result.Add(person);
            }
            return(result);
        }
        // Insert Employee into database
        public async Task <IActionResult> InsertPerson(PersonDisplayModel person)
        {
            if (ModelState.IsValid)
            {
                PersonModel newPerson = new PersonModel
                {
                    EmployeeID      = person.EmployeeID,
                    FirstName       = person.FirstName,
                    LastName        = person.LastName,
                    EmailAddress    = person.EmailAddress,
                    CellPhoneNumber = person.CellPhoneNumber
                };

                await _data.InsertPerson(newPerson);

                return(RedirectToAction("ViewPersons"));
            }

            return(View());
        }
        public void Remove(PersonDisplayModel person) => InTransaction(c =>
        {
            var sql = @"
                    delete from person_category
                    where person_id = @Id";
            using (var cmd = GetCommand(sql, c))
            {
                cmd.AddParameter("Id", person.Id);
                cmd.ExecuteNonQuery();
            }

            sql = @"
                delete from reception_person
                where person_id = @Id";
            using (var cmd = GetCommand(sql, c))
            {
                cmd.AddParameter("Id", person.Id);
                cmd.ExecuteNonQuery();
            }

            sql = @"
                delete from absence
                where person_id = @Id";
            using (var cmd = GetCommand(sql, c))
            {
                cmd.AddParameter("Id", person.Id);
                cmd.ExecuteNonQuery();
            }

            sql = @"
                delete from person
                where id = @id";
            using (var cmd = GetCommand(sql, c))
            {
                cmd.AddParameter("id", person.Id);
                cmd.ExecuteNonQuery();
            }
        });
 private void InsertInDay(PersonDisplayModel person, GroupModel team, DayModel day, ReceptionModel foundReception)
 {
     if (Has(day, foundReception.Days))
     {
         var foundDay = Get(day.DayId, foundReception);
         if (Has(team.Id, foundDay.Teams))
         {
             var foundTeam = Get(team.Id, foundDay);
             if (!Has(person.Id, foundTeam.People))
             {
                 foundTeam.Add(person);
             }
         }
         else
         {
             team.Add(person);
             foundDay.Teams.Add(team);
         }
     }
     else
     {
         throw new NotSupportedException($"All the days should be integrated into a reception. Code review is needed!");
     }
 }