コード例 #1
0
            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();
                }
            }
コード例 #2
0
        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 }));
            }
        }