public static Holiday UpdateHoliday(Holiday holiday) { using (var entity = new StaffingModelContainer()) { entity.VacanceTable.Single(o => o.ID == holiday.Id).Update(holiday); entity.SaveChanges(); holiday = entity.VacanceTable.Single(o => o.ID == holiday.Id).CreateHoliday(); } switch (holiday.Status) { case ItemStatus.Waiting: Mail.Send(holiday.ConsultantId, MailType.HolidayRequest, holiday); break; case ItemStatus.Refused: Mail.Send(holiday.ConsultantId, MailType.HolidayRefused, holiday); break; case ItemStatus.Validate: Mail.Send(holiday.ConsultantId, MailType.HolidayValidated, holiday); break; } return holiday; }
public static void DeleteHoliday(Holiday holiday) { using (var entity = new StaffingModelContainer()) { entity.VacanceTable.Single(o => o.ID == holiday.Id).Actif = false; entity.SaveChanges(); } }
internal static IEnumerable<Client> AddClient(Client newClient) { using (var entity = new StaffingModelContainer()) { entity.ClientTable.Add(newClient.CreateDatabaseClient()); entity.SaveChanges(); } return GetClients(); }
public static IEnumerable<Client> UpdateClient(Client client) { using (var entity = new StaffingModelContainer()) { entity.ClientTable.Single(o => o.ID == client.Id).Update(client); entity.SaveChanges(); } return GetClients(); }
internal static Holiday AddHoliday(Holiday newHoliday) { using (var entity = new StaffingModelContainer()) { var result = entity.VacanceTable.Add(newHoliday.CreateDatabaseHoliday()); entity.SaveChanges(); return result.CreateHoliday(); } }
internal static IEnumerable<Client> GetClients() { IEnumerable<Client> clients; using (var entity = new StaffingModelContainer()) { var items = entity.ClientTable.ToList(); clients = items.OrderByDescending(o => o.Actif).Select(o => o.CreateApplicationClient()).ToList(); } return clients; }
internal static IEnumerable<Holiday> GetHolidays(int? consultantId) { IEnumerable<Holiday> holidays; using (var entity = new StaffingModelContainer()) { var items = entity.VacanceTable.Where( o => !consultantId.HasValue || o.ConsultantTableID == consultantId).ToList(); holidays = items.Where(o => o.Actif).Select(o => o.CreateHoliday()).ToList(); } return holidays; }
internal static CompteRenduActivite CreateCra(int consultantId, int year, int month) { using (var entity = new StaffingModelContainer()) { var item = (from cra in entity.CompteRenduActiviteTable.Where(o => o.ConsultantTableID == consultantId && o.Month == month && o.Year == year) select cra).SingleOrDefault(); if (item != null) { var result = item.CreateCompteRenduActivite(); result.ActivityWeeks = GetActivities(result.Id).ToList(); return result; } entity.CompteRenduActiviteTable.Add(new CompteRenduActiviteTable { ConsultantTableID = consultantId, Month = month, Year = year, Status = (int)ItemStatus.Editing }); entity.SaveChanges(); item = (from cra in entity.CompteRenduActiviteTable.Where(o => o.ConsultantTableID == consultantId && o.Month == month && o.Year == year) select cra).Single(); var activityDays = CreateMonthDays(consultantId, year, month); foreach (var activityDay in activityDays) { entity.ActiviteTable.Add(activityDay.MorningActivity.CreateDataActivity(item.ID, false)); entity.ActiviteTable.Add(activityDay.AfternoonActivity.CreateDataActivity(item.ID, true)); } entity.SaveChanges(); return item.CreateCompteRenduActivite(); } }
public static IEnumerable<CompteRenduActivite> UpdateCra(CompteRenduActivite compteRenduActivite) { using (var entity = new StaffingModelContainer()) { entity.CompteRenduActiviteTable.Single(o => o.ID == compteRenduActivite.Id).Update(compteRenduActivite); entity.SaveChanges(); } switch (compteRenduActivite.Status) { case ItemStatus.Waiting: Mail.Send(compteRenduActivite.ConsultantId, MailType.CRASubmited, compteRenduActivite); break; case ItemStatus.Refused: Mail.Send(compteRenduActivite.ConsultantId, MailType.CRARefused, compteRenduActivite); break; case ItemStatus.Validate: Mail.Send(compteRenduActivite.ConsultantId, MailType.CRAValidated, compteRenduActivite); break; } return GetCra(null, null, null); }
internal static IEnumerable<ActivityWeek> GetActivities(int craId) { var cra = GetCraFromId(craId); if (cra == null) { return null; } var days = CreateMonthDays(cra.ConsultantId, cra.Year, cra.Month); var weeks = new List<ActivityWeek>(); using (var entity = new StaffingModelContainer()) { CultureInfo ci = Thread.CurrentThread.CurrentCulture; var week = new ActivityWeek { WeekNumber = ci.Calendar.GetWeekOfYear(new DateTime(cra.Year, cra.Month, 1), ci.DateTimeFormat.CalendarWeekRule, ci.DateTimeFormat.FirstDayOfWeek) }; foreach (var activityDay in days) { if (activityDay.Date.DayOfWeek == DayOfWeek.Monday) { if (week.Activities.Count > 0) { weeks.Add(week); } week = new ActivityWeek { WeekNumber = ci.Calendar.GetWeekOfYear(activityDay.Date, ci.DateTimeFormat.CalendarWeekRule, ci.DateTimeFormat.FirstDayOfWeek) }; } var items = entity.ActiviteTable.Where(o => o.CompteRenduActiviteTableID == craId && o.Day == activityDay.Date.Day).ToList(); foreach (var activity in items) { if (activity.Afternoon) { activityDay.AfternoonActivity = activity.CreateActivity(activityDay.ConsultantId, activityDay.Date); } else { activityDay.MorningActivity = activity.CreateActivity(activityDay.ConsultantId, activityDay.Date); } } week.Activities.Add(activityDay); } weeks.Add(week); return weeks; } }
internal static void UpdateActivities(IEnumerable<ActivityDay> days) { using (var entity = new StaffingModelContainer()) { foreach (var day in days) { entity.ActiviteTable.First(o => o.ID == day.MorningActivity.Id).Update(day.MorningActivity); entity.ActiviteTable.First(o => o.ID == day.AfternoonActivity.Id).Update(day.AfternoonActivity); entity.SaveChanges(); } } }
internal static CompteRenduActivite GetCraFromId(int craId) { using (var entity = new StaffingModelContainer()) { var item = entity.CompteRenduActiviteTable.SingleOrDefault(o => o.ID == craId); if (item != null) { return item.CreateCompteRenduActivite(); } return null; } }
internal static IEnumerable<CompteRenduActivite> GetCra(int? consultantId, int? year, int? month) { IEnumerable<CompteRenduActivite> cras; using (var entity = new StaffingModelContainer()) { var items = (from cra in entity.CompteRenduActiviteTable.Where( o => (!consultantId.HasValue || o.ConsultantTableID == consultantId) && (!year.HasValue || o.Year == year) && (!month.HasValue || o.Month == month)) select cra).ToList(); cras = items.Select(o => o.CreateCompteRenduActivite()).ToList(); foreach (var compteRenduActivite in cras) { compteRenduActivite.ActivityWeeks = GetActivities(compteRenduActivite.Id).ToList(); } } return cras; }