private void btnSave_Click(object sender, EventArgs e) { ModelSelectItem kg = (ModelSelectItem)cbKhungGio.SelectedItem; ServiceDayModel ghe = (ServiceDayModel)cbService.SelectedItem; if (benhnhan == null) { MessageBox.Show("Bạn chưa chọn bệnh nhân.", "Lỗi nhập liệu", MessageBoxButtons.OK, MessageBoxIcon.Error); txtcode.Focus(); } else if (kg == null) { MessageBox.Show("Khung giờ hẹn không được để trống.", "Lỗi nhập liệu", MessageBoxButtons.OK, MessageBoxIcon.Error); cbKhungGio.Focus(); } else { Q_Schedule_Detail obj = new Q_Schedule_Detail(); obj.Id = _Id; obj.CustomerId = _custId; obj.Note = txtnote.Text; obj.ScheduleDate = dtpDateSchedule.Value; obj.KhungGioId = kg.Id; obj.ServiceId = ghe.Id; var rs = BLLTimeSchedule.Instance.CreateOrUpdate(connect, obj, benhnhan); if (rs.IsSuccess) { refreshForm(); loadGrid(); } else { MessageBox.Show(rs.Errors[0].Message, "Lỗi nhập liệu", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public ResponseBase CreateOrUpdate(string connectString, Q_Schedule_Detail model, Q_Customer custModel) { using (db = new QMSSystemEntities(connectString)) { try { var rs = new ResponseBase(); var cust = db.Q_Customer.FirstOrDefault(x => !x.IsDeleted && x.Code.Trim().ToUpper() == custModel.Code.Trim().ToUpper()); if (cust == null) { cust = new Q_Customer(); Parse.CopyObject(custModel, ref cust); db.Q_Customer.Add(cust); db.SaveChanges(); } model.CustomerId = cust.Id; var foundItem = CheckExists(model, db); if (foundItem != null) { rs.IsSuccess = false; rs.Errors.Add(new Error() { MemberName = "Insert", Message = "khách hàng này đã có lịch hẹn lúc " + foundItem.ScheduleDate.ToString("dd/MM/yyyy HH:mm") + "." }); } else { Q_Schedule parent = db.Q_Schedule.FirstOrDefault(x => x.Month == model.ScheduleDate.Month && x.Year == model.ScheduleDate.Year); if (model.Id == 0) { if (parent == null) { parent = new Q_Schedule(); parent.Month = model.ScheduleDate.Month; parent.Year = model.ScheduleDate.Year; parent.Q_Schedule_Detail = new List <Q_Schedule_Detail>(); model.Q_Schedule = parent; parent.Q_Schedule_Detail.Add(model); db.Q_Schedule.Add(parent); rs.IsSuccess = true; } else { model.ScheduleId = parent.Id; db.Q_Schedule_Detail.Add(model); rs.IsSuccess = true; } } else { var obj = db.Q_Schedule_Detail.FirstOrDefault(m => m.Id == model.Id); if (obj == null) { rs.IsSuccess = false; rs.Errors.Add(new Error() { MemberName = "Update", Message = "Dữ liệu bạn đang thao tác đã bị xóa hoặc không tồn tại. Vui lòng kiểm tra lại !." }); } else { obj.CustomerId = model.CustomerId; obj.ScheduleDate = model.ScheduleDate; obj.KhungGioId = model.KhungGioId; obj.ServiceId = model.ServiceId; obj.Note = model.Note; rs.IsSuccess = true; } } if (rs.IsSuccess) { db.SaveChanges(); rs.IsSuccess = true; } } return(rs); } catch (Exception ex) { throw ex; } } }
private Q_Schedule_Detail CheckExists(Q_Schedule_Detail model, QMSSystemEntities db) { return(db.Q_Schedule_Detail.FirstOrDefault(x => x.Id == model.Id && x.CustomerId == model.CustomerId && x.ServiceId == model.ServiceId)); }