public UiMeeting(ExMeeting meeting) { Meeting = meeting; Hours = $"{Meeting.Start.ToLocalTime().ToString("HH:mm")} - {Meeting.End.ToLocalTime().ToString("HH:mm")}"; Date = Meeting.Start.Date.Equals(Meeting.End.ToLocalTime().Date) ? Meeting.Start.ToLocalTime().ToString("dd.MM.yy") : $"{Meeting.Start.ToLocalTime().Date.ToShortDateString()} - {Meeting.End.ToLocalTime().Date.ToString("dd.MM.yy")}"; try { //if (Device.RuntimePlatform == Device.iOS) //{ // var client = new WebClient(); // var bytes = client.DownloadData(_meeting.Staff.ImageUrl); // StaffImageSource = ImageSource.FromStream(() => new MemoryStream(bytes)); // client.Dispose(); //} //else //{ var uri = new Uri(Meeting.Staff.ImageUrl); StaffImageSource = ImageSource.FromUri(uri); //} } catch (Exception e) { StaffImageSource = ImageSource.FromStream(() => Images.ReadImageAsStream(EmbeddedImages.DefaultUserImage_png)); } }
// GET: Appointments/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var app = await _context.TblAppointments.Include(a => a.User).Include(x => x.Employee).Include(x => x.Employee.Store).FirstOrDefaultAsync(m => m.Id == id); if (app == null || app.Employee == null || app.Employee.Store == null) { return(NotFound()); } ExMeeting meeting = new ExMeeting { Id = app.Id, ShopId = app.Employee.StoreId, ShopName = app.User.Firstname + " " + app.User.Lastname, Start = app.ValidFrom.AddHours(2), End = app.ValidTo.AddHours(2), Staff = new ExStaff { Id = app.Employee.Id, Name = app.Text, WhatsappContact = app.User.PhoneNumber, //Image = app.Employee.Image } }; ViewBag.AdressUser = $"{app.User.PostalCode ?? ""} {app.User.City ?? ""} {app.User.Street ?? ""}"; return(View(meeting)); }
// GET: Appointments/Details/5 public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } var app = await _context.TblAppointments.Include(x => x.Employee).Include(x => x.Employee.Store).FirstOrDefaultAsync(m => m.Id == id); if (app == null || app.Employee == null || app.Employee.Store == null) { return(NotFound()); } ExMeeting meeting = new ExMeeting { Id = app.Id, ShopId = app.Employee.StoreId, ShopName = app.Employee.Store.CompanyName, Start = app.ValidFrom.AddHours(2), End = app.ValidTo.AddHours(2), Staff = new ExStaff { Id = app.Employee.Id, Name = app.Employee.FirstName + " " + app.Employee.LastName, WhatsappContact = app.Employee.TelephoneNumber, Image = app.Employee.Image } }; return(View(meeting)); }
/// <summary> /// Termine eines Users für einen Tag holen /// </summary> /// <param name="request"></param> /// <returns></returns> private async Task <List <ExMeeting> > GetMyMeetingsForDateInternal(ExGetMeetingsForDateRequest request) { using (var db = new Db()) { var res = new List <ExMeeting>(); var meetings = db.TblAppointments .Include(x => x.Employee) .Include(x => x.Employee).ThenInclude(x => x.Store) .Include(x => x.Employee).ThenInclude(x => x.TblLocationEmployee) .AsNoTracking() .Where(x => x.UserId == request.UserId.Value && !x.Canceled && (x.ValidFrom.Date == request.Date.Date || x.ValidTo.Date == request.Date.Date)); foreach (var dbMeeting in meetings) { var meeting = new ExMeeting { Id = dbMeeting.Id, // TODO ShopId ist eigentlich auf Location und ein MA kann bei mehreren Locations sein, also beim Meeting Location auch dazu? ShopId = dbMeeting.Employee?.TblLocationEmployee?.FirstOrDefault()?.TblLocationId ?? dbMeeting.Employee?.StoreId ?? -1, ShopName = dbMeeting.Employee?.Store?.CompanyName ?? "-", Staff = Staff.GetExStaff(dbMeeting.Employee), UserId = dbMeeting.UserId, Start = dbMeeting.ValidFrom, End = dbMeeting.ValidTo, }; res.Add(meeting); } return(res.OrderBy(x => x.Start).ToList()); } }