Пример #1
0
        public bool deleteChiTieu(int maChiTieu)
        {
            try
            {
                _connectionToDatabase.RunInTransaction(
                    () =>
                {
                    CHITIEU currentChiTieu = _connectionToDatabase.Table <CHITIEU>().Where(ic =>
                                                                                           (ic.MaChiTieu == maChiTieu)).FirstOrDefault();
                    if (currentChiTieu == null)
                    {
                        throw new Exception("Không tìm thấy chi tiêu có mã '" + maChiTieu + "'");
                    }
                    THUCHITHANG thuChiThang = _connectionToDatabase.Table <THUCHITHANG>().Where(ie =>
                                                                                                (ie.MaThuChiThang == currentChiTieu.MaThuChiThang)).FirstOrDefault();
                    if (thuChiThang == null)
                    {
                        throw new Exception("Không tìm thấy thu-chi tháng với mã '" + currentChiTieu.MaThuChiThang + "'");
                    }

                    _connectionToDatabase.Delete(currentChiTieu);
                    thuChiThang.SoDu += (Int32)(currentChiTieu.SoTien);
                    _connectionToDatabase.Update(thuChiThang);
                });

                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        public async Task <CHITIEU> getChiTieu(int maChiTieu)
        {
            try
            {
                CHITIEU chiTieu = await _connectionToDatabaseAsync.Table <CHITIEU>().Where(ic =>
                                                                                           (ic.MaChiTieu == maChiTieu)).FirstOrDefaultAsync();

                return(chiTieu);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #3
0
 public bool insertChiTieu(CHITIEU chiTieu)
 {
     try
     {
         _connectionToDatabase.RunInTransaction(
             () =>
         {
             NHOMCHITIEU nhomChiTieu = _connectionToDatabase.Table <NHOMCHITIEU>().Where(ie =>
                                                                                         (ie.MaNhomChiTieu == chiTieu.MaNhomChiTieu)).FirstOrDefault();
             if (nhomChiTieu == null)
             {
                 throw new Exception("Không tìm nhóm chi tiêu này.");
             }
             THUCHITHANG thuChiThang = _connectionToDatabase.Table <THUCHITHANG>().Where(ie =>
                                                                                         (ie.MaThuChiThang == chiTieu.MaThuChiThang)).FirstOrDefault();
             if (thuChiThang == null)
             {
                 throw new Exception("Không tìm thấy thu-chi tháng với mã '" + chiTieu.MaThuChiThang + "'");
             }
             CHITIEU currentChiTieu = _connectionToDatabase.Table <CHITIEU>().Where(ct =>
                                                                                    (ct.MaChiTieu == chiTieu.MaChiTieu)).FirstOrDefault();
             if (currentChiTieu != null)
             {
                 throw new Exception("Chi tiêu với mã tương ứng đã tồn tại.");
             }
             _connectionToDatabase.Insert(chiTieu);
             thuChiThang.SoDu -= (Int32)chiTieu.SoTien;
             _connectionToDatabase.Update(thuChiThang);
         });
         return(true);
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        private async Task<bool> asyncDataChiTieu(int maNguoiDung)
        {
            try
            {
                List<THUCHITHANG> localListThuChiThang = await _localModel.getAllThuChiThang(maNguoiDung);
                foreach (THUCHITHANG thuChi in localListThuChiThang)
                {
                    List<CHITIEU> localListChiTieu = await _localModel.getAllChiTieu(thuChi.MaThuChiThang);
                    ObservableCollection<ServerDatabaseService.ChiTieu> serverListChiTieu = new ObservableCollection<ServerDatabaseService.ChiTieu>();
                    foreach (CHITIEU cv in localListChiTieu)
                    {
                        ServerDatabaseService.ChiTieu thuNhap = new ServerDatabaseService.ChiTieu();
                        thuNhap.MaChiTieu = cv.MaChiTieu;
                        thuNhap.MaNhomChiTieu = cv.MaNhomChiTieu;
                        thuNhap.MaThuChiThang = cv.MaThuChiThang;
                        thuNhap.MoTa = cv.MoTa;
                        thuNhap.SoTien = cv.SoTien;
                        thuNhap.ThoiGian = (Int32)(cv.ThoiGian);
                        serverListChiTieu.Add(thuNhap);
                    }
                    var respone = await _serverModel.dataSyncChiTieuAsync(serverListChiTieu, thuChi.MaThuChiThang);
                    serverListChiTieu = respone.Body.dataSyncChiTieuResult;

                    var thamSo = await _serverModel.getThamSoAsync("ChiTieu");
                    int maChiTieu = thamSo.Body.getThamSoResult.GiaTri;

                    foreach (ServerDatabaseService.ChiTieu cv in serverListChiTieu)
                    {
                        CHITIEU chiTieu = await _localModel.getChiTieu(cv.MaChiTieu);
                        if (chiTieu == null)        // add new
                        {
                            chiTieu = new CHITIEU(cv.MaChiTieu, cv.MaThuChiThang, cv.MaNhomChiTieu, (UInt32)cv.SoTien,
                                cv.ThoiGian, cv.MoTa);
                            _localModel.insertChiTieu(chiTieu);
                            await _localModel.updateThamSo("ChiTieu", (++maChiTieu));
                        }
                        else        // update
                        {
                            chiTieu.MoTa = cv.MoTa;
                            chiTieu.SoTien = (UInt32)cv.SoTien;
                            _localModel.updateChiTieu(chiTieu);
                        }
                    }
                }

                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;
            }
        }
Пример #5
0
        public bool updateChiTieu(CHITIEU chiTieu)
        {
            try
            {
                _connectionToDatabase.RunInTransaction(
                    () =>
                    {
                        THUCHITHANG thuChiThang = _connectionToDatabase.Table<THUCHITHANG>().Where(ie =>
                        (ie.MaThuChiThang == chiTieu.MaThuChiThang)).FirstOrDefault();
                        if (thuChiThang == null)
                            throw new Exception("Không tìm thấy thu-chi tháng với mã '" + chiTieu.MaThuChiThang + "'");
                        CHITIEU currentChiTieu = _connectionToDatabase.Table<CHITIEU>().Where(ic =>
                        (ic.MaChiTieu == chiTieu.MaChiTieu)).FirstOrDefault();
                        if (currentChiTieu == null)
                            throw new Exception("Không tìm thấy chi tiêu có mã '" + chiTieu.MaChiTieu + "'");
                        thuChiThang.SoDu -= (Int32)(chiTieu.SoTien - currentChiTieu.SoTien);
                        currentChiTieu.MaNhomChiTieu = chiTieu.MaNhomChiTieu;
                        currentChiTieu.SoTien = chiTieu.SoTien;
                        currentChiTieu.MoTa = chiTieu.MoTa;

                        _connectionToDatabase.Update(currentChiTieu);
                        _connectionToDatabase.Update(thuChiThang);
                    });
                return true;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #6
0
 public bool insertChiTieu(CHITIEU chiTieu)
 {
     try
     {
         _connectionToDatabase.RunInTransaction(
             () =>
             {
                 NHOMCHITIEU nhomChiTieu = _connectionToDatabase.Table<NHOMCHITIEU>().Where(ie =>
                 (ie.MaNhomChiTieu == chiTieu.MaNhomChiTieu)).FirstOrDefault();
                 if (nhomChiTieu == null)
                     throw new Exception("Không tìm nhóm chi tiêu này.");
                 THUCHITHANG thuChiThang = _connectionToDatabase.Table<THUCHITHANG>().Where(ie =>
                 (ie.MaThuChiThang == chiTieu.MaThuChiThang)).FirstOrDefault();
                 if (thuChiThang == null)
                     throw new Exception("Không tìm thấy thu-chi tháng với mã '" + chiTieu.MaThuChiThang + "'");
                 CHITIEU currentChiTieu = _connectionToDatabase.Table<CHITIEU>().Where(ct =>
                 (ct.MaChiTieu == chiTieu.MaChiTieu)).FirstOrDefault();
                 if (currentChiTieu != null)
                     throw new Exception("Chi tiêu với mã tương ứng đã tồn tại.");
                 _connectionToDatabase.Insert(chiTieu);
                 thuChiThang.SoDu -= (Int32)chiTieu.SoTien;
                 _connectionToDatabase.Update(thuChiThang);
             });
         return true;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }