public static void InsertCongTo(CongTo ct) { var rs = db.CongToes.Where(x => x.Serial == ct.Serial).FirstOrDefault(); if (rs == null) { db.CongToes.Add(ct); db.SaveChanges(); } }
public ActionResult CapNhatDiemDo_CreateOrUpdateCongTo(int id_congto, int id_diemdo, string serial, string loai_congto, string ct_dd_thoigianketthuc, string ct_dd_thoigianbatdau, int id_lienket = -1) { try { DateTime dt_start = new DateTime(); var rs_start = DateTime.TryParseExact(ct_dd_thoigianbatdau, "dd - MM - yyyy", null, DateTimeStyles.None, out dt_start); if (!rs_start) { return(Json(new { success = false, message = "Thời gian bắt đầu không đúng định dạng" })); } DateTime?dt_end = new DateTime(); if (string.IsNullOrEmpty(ct_dd_thoigianketthuc)) { dt_end = null; } else { DateTime dt = new DateTime(); var rs_end = DateTime.TryParseExact(ct_dd_thoigianketthuc, "dd - MM - yyyy", null, DateTimeStyles.None, out dt); if (!rs_end) { return(Json(new { success = false, message = "Thời gian kết thúc không đúng định dạng" })); } dt_end = dt; } if (dt_start > dt_end) { return(Json(new { success = false, message = "Thời gian bắt đầu phải nhỏ hơn Thời gian kết thúc" })); } // if update cong to if (id_congto != -1) { CongTo ct = new CongTo() { ID = id_congto, Serial = serial, Type = loai_congto }; var rs_checkexist = CongToDAO.CheckCongToExistBySerialExceptOneID(serial, id_congto); if (rs_checkexist) { return(Json(new { success = false, message = "Công tơ đã tồn tại" })); } // kiem tra co dang duoc su dung hay chua var rs_check_congto_using = LienKetDiemDoCongToDAO.CheckCongToUsingFollowTimeByID(id_congto, id_lienket, dt_start, dt_end); if (rs_check_congto_using) { // neu da duoc su dung return(Json(new { success = false, message = "Công tơ đã được sử dụng vào khoảng thời gian này" })); } //cap nhat thong tin cong to var rs_update_congto = CongToDAO.UpdateCongTo(ct); var rs_update_lienket = LienKetDiemDoCongToDAO.CapNhatThoiGian(id_lienket, dt_start, dt_end); } // if create or add cong to to diem do else { // lien ket cong to voi diem do CongTo ct = new CongTo(); ct.Serial = serial; ct.Type = loai_congto; // kiem tra cong to da ton tai hay chua var rs_checkexist = CongToDAO.CheckCongToExistBySerial(serial); if (rs_checkexist) { // neu cong to da ton tai var ct_temp = CongToDAO.GetCongToBySerial(serial); // kiem tra co dang duoc su dung hay chua var rs_check_congto_using = LienKetDiemDoCongToDAO.CheckCongToUsingFollowTimeByID(id_congto, id_diemdo, dt_start, dt_end); if (rs_check_congto_using) { // neu da duoc su dung return(Json(new { success = false, message = "Công tơ đã được sử dụng vào khoảng thời gian này" })); } // neu chua duoc su dung => cap nhat lien ket if (id_lienket != -1) { var old_lienket = LienKetDiemDoCongToDAO.GetLienKetById(id_lienket); var rs_update_lienket = LienKetDiemDoCongToDAO.CapNhatThoiGian(id_lienket, old_lienket.ThoiGianBatDau, dt_start.AddDays(-1)); } var rs_create_lk = LienKetDiemDoCongToDAO.CreateLienKet(ct_temp.ID, id_diemdo, dt_start, dt_end); } else { //neu cong to chua ton tai => tao moi var rs_create = CongToDAO.CreateCongTo(ref ct); if (!rs_create) { return(Json(new { success = false, message = "Công tơ đã tồn tại" })); } else { if (id_lienket != -1) { var old_lienket = LienKetDiemDoCongToDAO.GetLienKetById(id_lienket); var rs_update_lienket = LienKetDiemDoCongToDAO.CapNhatThoiGian(id_lienket, old_lienket.ThoiGianBatDau, dt_start.AddDays(-1)); } var rs_create_lk = LienKetDiemDoCongToDAO.CreateLienKet(ct.ID, id_diemdo, dt_start, dt_end); } } } return(Json(new { success = true, message = "Thành Công" })); } catch (Exception ex) { return(Json(new { success = false, message = ex.Message })); } }