public BookingTimeSlotsViewModel(BookingTimeslots bookingTimeslots, string connectionString) : this() { context = new MySqlContext(new MySqlConnectionFactory(connectionString)); var HealthFacilities = context.JoinQuery <BookingTimeslots, HealthFacilities>((b, h) => new object[] { JoinType.InnerJoin, b.HealthFacilitiesId == h.HealthFacilitiesId }) .Where((b, h) => b.TimeSlotId == bookingTimeslots.TimeSlotId) .Select((b, h) => h).FirstOrDefault(); if (HealthFacilities != null) { HealthFacilitiesName = HealthFacilities.Name; } else { HealthFacilitiesName = "Toàn hệ thống"; } HoursStart = bookingTimeslots.HoursStart; MinuteStart = bookingTimeslots.MinuteStart; HoursEnd = bookingTimeslots.HoursEnd; MinuteEnd = bookingTimeslots.MinuteEnd; Code = bookingTimeslots.Code; Name = bookingTimeslots.Name; IsActive = bookingTimeslots.IsActive; IsDefault = bookingTimeslots.IsDefault; TimeSlotId = bookingTimeslots.TimeSlotId; }
public IActionResult Delete(int id) { try { var obj = new BookingTimeslots(); _context.Session.BeginTransaction(); _context.Update <BookingTimeslots>(b => b.TimeSlotId == id, a => new BookingTimeslots() { IsDelete = true }); _context.Session.CommitTransaction(); return(Json(new ActionResultDto())); } catch (Exception e) { if (_context.Session.IsInTransaction) { _context.Session.RollbackTransaction(); } return(StatusCode(500, _excep.Throw("Có lỗi xảy ra !", e.Message))); } }
public IActionResult Update([FromBody] BookingTimeslots obj) { var _obj = _context.Query <BookingTimeslots>().FirstOrDefault(b => b.TimeSlotId == obj.TimeSlotId); if (_obj == null) { return(StatusCode(404, _excep.Throw("Not Found"))); } var objs = _context.Query <BookingTimeslots>().Where(b => b.TimeSlotId != obj.TimeSlotId && (b.HealthFacilitiesId == obj.HealthFacilitiesId || b.HealthFacilitiesId == null) && b.IsDelete == false).ToList(); double timeStartInput = double.Parse($"{obj.HoursStart},{obj.MinuteStart}"); double timeEndInput = double.Parse($"{obj.HoursEnd},{obj.MinuteEnd}"); foreach (var item in objs) { double timeStart = double.Parse($"{item.HoursStart},{item.MinuteStart}"); double timeEnd = double.Parse($"{item.HoursEnd},{item.MinuteEnd}"); if ((timeStartInput >= timeStart && timeStartInput < timeEnd) || (timeEndInput > timeStart && timeEndInput <= timeEnd) || (timeStartInput < timeStart && timeEnd < timeEndInput)) { return(StatusCode(409, _excep.Throw("Sửa khung giờ khám không thành công", "Thời gian của khung giờ khám trùng với khung giờ khám đã có!"))); } } try { _context.Session.BeginTransaction(); _context.Update <BookingTimeslots>(b => b.TimeSlotId == obj.TimeSlotId, a => new BookingTimeslots() { Name = obj.Name.Trim(), Code = obj.Code.Trim(), HoursStart = obj.HoursStart, HoursEnd = obj.HoursEnd, MinuteStart = obj.MinuteStart, MinuteEnd = obj.MinuteEnd, UpdateUserId = obj.UpdateUserId, IsActive = obj.IsActive, HealthFacilitiesId = obj.HealthFacilitiesId, UpdateDate = DateTime.Now }); _context.Session.CommitTransaction(); return(Json(new ActionResultDto())); } catch (Exception e) { if (_context.Session.IsInTransaction) { _context.Session.RollbackTransaction(); } return(StatusCode(500, _excep.Throw("Có lỗi xảy ra !", e.Message))); } }
public BookingDoctorsViewModel(BookingTimeslots ts, int doctorId, string connectionString) : this() { context = new MySqlContext(new MySqlConnectionFactory(connectionString)); HoursStart = ts.HoursStart; MinuteStart = ts.MinuteStart; HoursEnd = ts.HoursEnd; MinuteEnd = ts.MinuteEnd; TimeSlotId = ts.TimeSlotId; DoctorCalendar = ConvertListString(context.Query <BookingDoctorsCalendars>().Where(dc => dc.TimeSlotId == ts.TimeSlotId && dc.DoctorId == doctorId).ToList()); }
public BookingDoctorsApproveViewModel(BookingDoctorsCalendars dc, BookingTimeslots ts) : this() { Title = ts != null ? (ts.HoursStart + "h" + ts.MinuteStart + " - " + ts.HoursEnd + "h" + ts.MinuteEnd) : ""; Start = new DateTime(dc.CalendarDate.Year, dc.CalendarDate.Month, dc.CalendarDate.Day, int.Parse(ts.HoursStart), int.Parse(ts.MinuteStart), 0); End = new DateTime(dc.CalendarDate.Year, dc.CalendarDate.Month, dc.CalendarDate.Day, int.Parse(ts.HoursEnd), int.Parse(ts.MinuteEnd), 0); Color = dc.Status == 1 ? "bisque" : (dc.Status == 2 ? "deepskyblue" : "aquamarine"); TextColor = dc.Status == 2 ? "red" : "black"; ClassName = dc.Status == 2 ? "del" : ""; Description = dc.Address; //AllDay = true; //DisplayEventTime = false; }
public IActionResult Create([FromBody] BookingTimeslots obj) { var objs = _context.Query <BookingTimeslots>().Where(b => (b.HealthFacilitiesId == obj.HealthFacilitiesId || b.HealthFacilitiesId == null) && b.IsDelete == false).ToList(); double timeStartInput = double.Parse($"{obj.HoursStart},{obj.MinuteStart}"); double timeEndInput = double.Parse($"{obj.HoursEnd},{obj.MinuteEnd}"); foreach (var item in objs) { double timeStart = double.Parse($"{item.HoursStart},{item.MinuteStart}"); double timeEnd = double.Parse($"{item.HoursEnd},{item.MinuteEnd}"); if ((timeStartInput >= timeStart && timeStartInput < timeEnd) || (timeEndInput > timeStart && timeEndInput <= timeEnd) || (timeStartInput < timeStart && timeEnd < timeEndInput)) { return(StatusCode(409, _excep.Throw("Thêm mới khung giờ khám không thành công", "Thời gian của khung giờ khám trùng với khung giờ khám đã có!"))); } } try { _context.Session.BeginTransaction(); #region [Tài khoản phòng khám, bệnh viện] if (obj.HealthFacilitiesId != null && !string.IsNullOrWhiteSpace(obj.HealthFacilitiesId.ToString())) { var code = _context.Query <BookingTimeslots>().Where(ts => ts.Code.Equals(obj.Code) && ts.IsDelete == false).Where(ts => ts.HealthFacilitiesId.Equals(obj.HealthFacilitiesId) || ts.HealthFacilitiesId.ToString() == null).FirstOrDefault(); // lay ma code của dơn vị hiện tại + admin if (code != null) { return(StatusCode(406, _excep.Throw(406, "Tạo khung giờ khám không thành công !", "Mã khung giờ khám đã tồn tại!"))); } else { _context.Insert(() => new BookingTimeslots { Name = obj.Name.Trim(), Code = obj.Code.Trim(), HoursStart = obj.HoursStart, HoursEnd = obj.HoursEnd, MinuteStart = obj.MinuteStart, MinuteEnd = obj.MinuteEnd, IsDelete = false, IsActive = obj.IsActive, CreateUserId = obj.CreateUserId, UpdateUserId = obj.UpdateUserId, HealthFacilitiesId = obj.HealthFacilitiesId, UpdateDate = DateTime.Now, CreateDate = DateTime.Now }); } } #endregion #region [Tài khoản admin] else { var t = _context.Query <BookingTimeslots>().Where(ts => ts.Code.Equals(obj.Code) && ts.IsDelete == false).FirstOrDefault(); if (t == null) { _context.Insert(() => new BookingTimeslots { Name = obj.Name.Trim(), Code = obj.Code.Trim(), HoursStart = obj.HoursStart, HoursEnd = obj.HoursEnd, MinuteStart = obj.MinuteStart, MinuteEnd = obj.MinuteEnd, IsDelete = false, IsActive = obj.IsActive, CreateUserId = obj.CreateUserId, UpdateUserId = obj.UpdateUserId, HealthFacilitiesId = obj.HealthFacilitiesId, UpdateDate = DateTime.Now, CreateDate = DateTime.Now }); } else { return(StatusCode(406, _excep.Throw(406, "Tạo khung giờ khám không thành công !", "Mã khung giờ khám đã tồn tại!"))); } } #endregion _context.Session.CommitTransaction(); return(Json(new ActionResultDto())); } catch (Exception e) { if (_context.Session.IsInTransaction) { _context.Session.RollbackTransaction(); } return(StatusCode(500, _excep.Throw("Có lỗi xảy ra !", e.Message))); } }