Пример #1
0
        public async Task <bool> insertThuChiThang(THUCHITHANG thuChiThang)
        {
            try
            {
                NGUOIDUNG nguoiDung = await _connectionToDatabaseAsync.Table <NGUOIDUNG>().Where(nd =>
                                                                                                 (nd.MaNguoiDung == thuChiThang.MaNguoiDung)).FirstOrDefaultAsync();

                if (nguoiDung == null)
                {
                    throw new Exception("Không tìm thấy người dùng này.");
                }
                THUCHITHANG currentThuChiThang = await getThuChiThang(thuChiThang.MaNguoiDung, thuChiThang.Thang, thuChiThang.Nam);

                if (currentThuChiThang != null)
                {
                    throw new Exception("Thu-chi tháng " + thuChiThang.Thang + " năm " + thuChiThang.Nam + " tương ứng với người dùng này đã tồn tại.");
                }
                await _connectionToDatabaseAsync.InsertAsync(thuChiThang);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
 public bool deleteNguoiDung(int maNguoiDung)
 {
     try
     {
         _connectionToDatabase.RunInTransaction(
             async() =>
         {
             NGUOIDUNG nguoiDung = await getNguoiDung(maNguoiDung);
             if (nguoiDung == null)
             {
                 throw new Exception("Người dùng này không tồn tại.");
             }
             await deleteAllCongViec(maNguoiDung);
             var allThuChiThang = await getAllThuChiThang(maNguoiDung);
             foreach (THUCHITHANG thuChi in allThuChiThang)
             {
                 deleteThuChiThang(thuChi.MaThuChiThang);
             }
             await _connectionToDatabaseAsync.DeleteAsync(nguoiDung);
         });
         return(true);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
Пример #3
0
        public async Task <bool> updateCongViec(CONGVIEC updateCongViec)
        {
            try
            {
                NHOMCONGVIEC nhomCongViec = await _connectionToDatabaseAsync.Table <NHOMCONGVIEC>().Where(nhom =>
                                                                                                          (nhom.MaNhomCongViec == updateCongViec.MaNhomCongViec)).FirstOrDefaultAsync();

                if (nhomCongViec == null)
                {
                    throw new Exception("Không tìm thấy nhóm công việc cho công việc này.");
                }
                NGUOIDUNG nguoiDung = await _connectionToDatabaseAsync.Table <NGUOIDUNG>().Where(nd =>
                                                                                                 (nd.MaNguoiDung == updateCongViec.MaNguoiDung)).FirstOrDefaultAsync();

                if (nguoiDung == null)
                {
                    throw new Exception("Không tìm thấy người dùng tương ứng cho công việc này.");
                }

                CONGVIEC congViec = await _connectionToDatabaseAsync.Table <CONGVIEC>().Where(cv =>
                                                                                              (cv.MaCongViec == updateCongViec.MaCongViec)).FirstOrDefaultAsync();

                if (congViec == null)
                {
                    throw new Exception("Không tìm thấy công việc với mã này.");
                }
                await _connectionToDatabaseAsync.UpdateAsync(updateCongViec);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #4
0
        public async Task <bool> insertNguoiDung(NGUOIDUNG insertNguoiDung)
        {
            try
            {
                NGUOIDUNG nguoiDung = await _connectionToDatabaseAsync.Table <NGUOIDUNG>().Where(nd =>
                                                                                                 (nd.MaNguoiDung == insertNguoiDung.MaNguoiDung || nd.Email == insertNguoiDung.Email)).FirstOrDefaultAsync();

                if (nguoiDung != null)
                {
                    throw new Exception("Người dùng này đã tồn tại.");
                }
                await _connectionToDatabaseAsync.InsertAsync(insertNguoiDung);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #5
0
        public async Task <bool> updateNguoiDung(int maNguoiDung, string hoTen, Int32 ngaySinh, string soDienThoai)
        {
            try
            {
                NGUOIDUNG currentUser = await _connectionToDatabaseAsync.Table <NGUOIDUNG>().Where(u => (u.MaNguoiDung == maNguoiDung)).FirstOrDefaultAsync();

                if (currentUser == null)
                {
                    throw new Exception("Không tìm thấy người dùng với mã '" + maNguoiDung + "'");
                }
                currentUser.HoTen       = hoTen;
                currentUser.NgaySinh    = ngaySinh;
                currentUser.SoDienThoai = soDienThoai;
                await _connectionToDatabaseAsync.UpdateAsync(currentUser);

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private async Task<bool> asyncDataNguoiDung(int maNguoiDung)
        {
            try
            {
                NGUOIDUNG localNguoiDung = await _localModel.getNguoiDung(maNguoiDung);
                ServerDatabaseService.NguoiDung serverNguoiDung = new ServerDatabaseService.NguoiDung();
                serverNguoiDung.MaNguoiDung = maNguoiDung;
                if (localNguoiDung != null)
                {
                    serverNguoiDung.MaNguoiDung = localNguoiDung.MaNguoiDung;
                    serverNguoiDung.HoTen = localNguoiDung.HoTen;
                    serverNguoiDung.NgaySinh = (localNguoiDung.NgaySinh);
                    serverNguoiDung.Email = localNguoiDung.Email;
                    serverNguoiDung.SoDienThoai = localNguoiDung.SoDienThoai;
                    var respone = await _serverModel.dataSyncNguoiDungAsync(serverNguoiDung);
                    serverNguoiDung = respone.Body.dataSyncNguoiDungResult;

                    await _localModel.updateNguoiDung(serverNguoiDung.MaNguoiDung, serverNguoiDung.HoTen,
                        serverNguoiDung.NgaySinh, serverNguoiDung.SoDienThoai);
                }
                else
                {
                    var respone = await _serverModel.getNguoiDungByMaNguoiDungAsync(maNguoiDung);
                    serverNguoiDung = respone.Body.getNguoiDungByMaNguoiDungResult;
                    localNguoiDung = new NGUOIDUNG(serverNguoiDung.MaNguoiDung, serverNguoiDung.HoTen,
                        serverNguoiDung.NgaySinh, serverNguoiDung.Email, serverNguoiDung.SoDienThoai);
                    await _localModel.insertNguoiDung(localNguoiDung);
                }

                return true;
            }
            catch (EndpointNotFoundException e)
            {
                throw new HttpRequestException("Không thể kết nối đến server. Vui lòng kiểm tra kết nối internet và thử lại.");
            }
            catch (HttpRequestException e)
            {
                throw new HttpRequestException("Không thể kết nối đến server. Vui lòng kiểm tra kết nối internet và thử lại.");
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
        /// Thêm thông tin người dùng vào hệ thống - chỉ tương tác tên local
        /// </summary>
        /// <param name="maNguoiDung"> Mã người dùng</param>
        /// <param name="hoTen"> Họ tên</param>
        /// <param name="ngaySinh"> Ngày sinh</param>
        /// <param name="email"> Email</param>
        /// <param name="soDienThoai"> Số điện thoại</param>
        /// <returns></returns>
        public async Task<bool> insertNguoiDungLocal(int maNguoiDung, string hoTen, DateTime ngaySinh, string email, string soDienThoai)
        {
            try
            {
                NGUOIDUNG localNguoiDung = await _localModel.getNguoiDung(maNguoiDung);
                if (localNguoiDung != null)
                    return false;
                localNguoiDung = new NGUOIDUNG(maNguoiDung, hoTen, CustomDateTime.ToIntegerTime(ngaySinh), email, soDienThoai);
                await _localModel.insertNguoiDung(localNguoiDung);

                return true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #8
0
 public async Task<bool> insertNguoiDung(NGUOIDUNG insertNguoiDung)
 {
     try
     {
         NGUOIDUNG nguoiDung = await _connectionToDatabaseAsync.Table<NGUOIDUNG>().Where(nd =>
         (nd.MaNguoiDung == insertNguoiDung.MaNguoiDung || nd.Email == insertNguoiDung.Email)).FirstOrDefaultAsync();
         if (nguoiDung != null)
             throw new Exception("Người dùng này đã tồn tại.");
         await _connectionToDatabaseAsync.InsertAsync(insertNguoiDung);
         return true;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        private async Task<bool> asyncDataNguoiDung(int maNguoiDung)
        {
            try
            {
                NGUOIDUNG localNguoiDung = await _localModel.getNguoiDung(maNguoiDung);
                ServerDatabaseService.NguoiDung serverNguoiDung = new ServerDatabaseService.NguoiDung();
                serverNguoiDung.MaNguoiDung = maNguoiDung;
                if (localNguoiDung != null)
                {
                    serverNguoiDung.MaNguoiDung = localNguoiDung.MaNguoiDung;
                    serverNguoiDung.HoTen = localNguoiDung.HoTen;
                    serverNguoiDung.NgaySinh = (localNguoiDung.NgaySinh);
                    serverNguoiDung.Email = localNguoiDung.Email;
                    serverNguoiDung.SoDienThoai = localNguoiDung.SoDienThoai;
                    var respone = await _serverModel.dataSyncNguoiDungAsync(serverNguoiDung);
                    serverNguoiDung = respone.Body.dataSyncNguoiDungResult;

                    await _localModel.updateNguoiDung(serverNguoiDung.MaNguoiDung, serverNguoiDung.HoTen,
                        serverNguoiDung.NgaySinh, serverNguoiDung.SoDienThoai);
                }
                else
                {
                    var respone = await _serverModel.getNguoiDungByMaNguoiDungAsync(maNguoiDung);
                    serverNguoiDung = respone.Body.getNguoiDungByMaNguoiDungResult;
                    localNguoiDung = new NGUOIDUNG(serverNguoiDung.MaNguoiDung, serverNguoiDung.HoTen,
                        serverNguoiDung.NgaySinh, serverNguoiDung.Email, serverNguoiDung.SoDienThoai);
                    await _localModel.insertNguoiDung(localNguoiDung);
                }
                
                return true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }