예제 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void storeContractType_OnRefreshData(object sender, StoreRefreshDataEventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(hdfEmployee.Text))
                {
                    var contractModels = ContractController.GetAllByRecordCondition(Convert.ToInt32(hdfEmployee.Text));
                    if (contractModels.Count == 0)
                    {
                        RM.RegisterClientScriptBlock("contract",
                                                     "alert('Không tìm thấy hợp đồng nào còn hiệu lực. Vui lòng tạo hợp đồng mới trước khi tạo quyết định lương!');");
                    }

                    storeContractType.DataSource = contractModels;
                    storeContractType.DataBind();
                }
                else
                {
                    RM.RegisterClientScriptBlock("employee", "alert('Bạn chưa chọn cán bộ'); cboEmployee.focus();");
                }
            }
            catch (Exception exception)
            {
                Dialog.ShowError(exception);
            }
        }
예제 #2
0
        public async Task AddContractSuccessful()
        {
            var context = new POAMDbContext();

            RemoveContract(context, "dummyContract");

            var contract = GenerateContract();

            RemoveAdmin(context);

            Authentication.Instance.AdminLogin(CreateAdmin(context));


            var contractController = new ContractController(context);

            var result = await contractController.AddContract(contract);

            var existingContract = context.Contract.FirstOrDefault(c => c.Provider == "dummyContract");


            Assert.NotNull(existingContract);
            var redirectResult = Assert.IsType <RedirectToActionResult>(result);

            Assert.NotNull(redirectResult);
            Assert.Equal("ContractsList", redirectResult.ActionName);

            Authentication.Instance.Logout();
            RemoveContract(context, "dummyContract");
            RemoveAdmin(context);
        }
예제 #3
0
 private void notExecuteOrdersToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (ContractController.GetAllContracts()?.Count != 0)
     {
         new NotExecutePurchasesForm().ShowDialog();
     }
 }
예제 #4
0
 private void servicesWithoutExecutorToolStripMenuItem_Click(object sender, EventArgs e)
 {
     if (ContractController.GetAllContracts()?.Count != 0)
     {
         new ServicesWithoutExecutorForm().ShowDialog();
     }
 }
예제 #5
0
        public ApplicationController(CompositionContainer _container,
                                     ShellViewModel shellViewModel
                                     , InvoiceController _invoiceController
                                     , ClientDefController _clientDefController
//#if ONE_AT_A_TIME
                                     , ContractController _contractController
                                     , ReportsController _reportsController
                                     , AdministrationController _administrationController
//#endif
                                     , ErrorManController _errorManController
                                     , BatchJobController _batchJobController
                                     , AuditLogController _auditLogController
                                     )
        {
            if (shellViewModel == null)
            {
                throw new ArgumentNullException("shellViewModel");
            }
            container = _container;
            //loginController = _loginController;
            this.shellViewModel    = shellViewModel;
            this.invoiceController = _invoiceController;
            clientDefController    = _clientDefController;

//#if ONE_AT_A_TIME
            this.contractController  = _contractController;
            reportsController        = _reportsController;
            administrationController = _administrationController;
//#endif
            errorManController = _errorManController;
            batchJobController = _batchJobController;
            auditLogController = _auditLogController;
        }
예제 #6
0
        public void ReloadPanel()
        {
            pnl_contracts.Controls.Clear();
            var contracts = ContractController.getAll(); // .OrderBy(t => t.id).Reverse()

            if (btn_orderby_createDate.Checked)
            {
                contracts = contracts.OrderBy(c => c.create_date);
            }
            if (btn_orderby_patent.Checked)
            {
                contracts = contracts.OrderBy(c => c.patent_id);
            }
            if (btn_orderby_company.Checked)
            {
                contracts = contracts.OrderBy(c => c.company_id);
            }
            foreach (var c in contracts)
            {
                pnl_contracts.Controls.Add(new uc_ContractModel
                {
                    id          = c.id,
                    company_id  = c.company_id,
                    patent_id   = c.patent_id,
                    create_date = c.create_date,
                    duration    = c.duration,
                    price       = c.price
                });
            }
        }
예제 #7
0
        public static List <ExecutedPurchaseReport> GetAllExecutedPurchases(DateTime first, DateTime second)
        {
            var executedPurchases = new List <ExecutedPurchaseReport>();
            var contracts         = ContractController.GetAllContracts();

            using (var read = DatabaseService.ExecuteAndReturn(
                       $@"SELECT c.{Db.id}, p.{Db.Purchase.firstDate}, c.{Db.Contract.deliveryDate}, c.{Db.Contract.summa} 
FROM ({Db.Contract.title} c INNER JOIN {Db.Purchase.title} p 
ON c.{Db.Contract.purchaseId} = p.{Db.id}) a 
WHERE (a.{Db.Purchase.firstDate} BETWEEN {first.Ticks - first.TimeOfDay.Ticks} 
AND {second.Ticks - second.TimeOfDay.Ticks + TimeSpan.TicksPerDay - 1}) 
AND (p.{Db.Purchase.status}={(uint)Status.Filled});"))
            {
                while (read.Read())
                {
                    executedPurchases.Add(
                        new ExecutedPurchaseReport(
                            ContractController.GetClientName(contracts.First(c => c.Id == (string)read.GetValue(read.GetOrdinal(Db.id)))),
                            Contract.ToDate((long)read.GetValue(read.GetOrdinal(Db.Purchase.firstDate))),
                            Contract.ToDate((long)read.GetValue(read.GetOrdinal(Db.Contract.deliveryDate))),
                            (long)read.GetValue(read.GetOrdinal(Db.Contract.summa))
                            )
                        );
                }
            }
            return(executedPurchases);
        }
예제 #8
0
        private void ViewData()
        {
            contractsView.Rows.Clear();
            if (ContractController.GetAllContracts()?.Count != 0)
            {
                using (var read = DatabaseService.Where(Db.Contract.title,
                                                        $"{Db.Contract.deliveryDate} BETWEEN {DateTime.Now.Ticks} AND {DateTime.Now.AddDays(3).Ticks} ORDER BY {Db.Contract.deliveryDate} DESC"))
                {
                    while (read.Read())
                    {
                        int purchaseId = Convert.ToInt32(read.GetValue(read.GetOrdinal(Db.Contract.purchaseId)));

                        if (getStatus(purchaseId) == Status.Unfilled)
                        {
                            contractsView.Rows.Add(new object[]
                            {
                                read.GetValue(read.GetOrdinal(Db.id)),
                                Contract.ToDateString((long)read.GetValue(read.GetOrdinal(Db.Contract.deliveryDate)))
                            });
                        }
                    }
                    foreach (DataGridViewRow row in contractsView.Rows)
                    {
                        row.DefaultCellStyle.BackColor = Color.LightCoral;
                    }
                }
            }
        }
예제 #9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void storeContractType_OnRefreshData(object sender, StoreRefreshDataEventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(hdfChooseEmployee.Text))
                {
                    var datas = ContractController.GetAllByRecordCondition(Convert.ToInt32(hdfChooseEmployee.Text));
                    if (datas.Count == 0)
                    {
                        RM.RegisterClientScriptBlock("rl1",
                                                     "alert('Không tìm thấy hợp đồng nào còn hiệu lực. Vui lòng tạo hợp đồng mới trước khi tạo quyết định lương!');");
                    }

                    storeContractType.DataSource = datas;
                    storeContractType.DataBind();
                }
                else
                {
                    RM.RegisterClientScriptBlock("rl", "alert('Bạn chưa chọn cán bộ'); cbxChooseEmployee.focus();");
                }
            }
            catch (Exception ex)
            {
                X.Msg.Alert("Thông báo từ hệ thống", "Có lỗi xảy ra: " + ex.Message).Show();
            }
        }
예제 #10
0
 public void Arrange()
 {
     _mockService = new MockContractService {
         ReturnValue = true
     };
     _controller = new ContractController(_mockService);
 }
예제 #11
0
        /// <summary>
        /// Sinh tự động số hợp đồng
        /// </summary>
        /// <param name="suffix"></param>
        /// <returns></returns>
        private string GenerateContractNumber(string suffix)
        {
            // get full suffix
            if (string.IsNullOrEmpty(suffix))
            {
                return("");
            }
            suffix = DateTime.Now.Year + "/" + suffix;
            // get max number of constract
            var contractNum = ContractController.GetContractNumberByCondition(suffix);

            if (contractNum != null && contractNum.Id > 0) // có số hợp đồng lớn nhất
            {
                string sohd = contractNum.ContractNumber;
                int    pos  = sohd.IndexOf('/');
                if (pos != -1)
                {
                    string stt    = sohd.Trim().Substring(0, pos);
                    int    number = int.Parse(stt);
                    stt = "0000" + (number + 1);
                    stt = stt.Substring(stt.Length - 3);
                    stt = stt + "/" + suffix;
                    return(stt);
                }
            }

            // chưa có số hợp đồng nào theo định dạng
            return("001/" + suffix);
        }
예제 #12
0
        public void GetAllContractes()
        {
            var mock = new Mock <IRepository <Contract> >();

            mock.Setup(repo => repo.GetAll()).Returns(GetAllTest());
            var factoryMock = new Mock <IRepositoryFactory>();

            factoryMock.Setup(f => f.GetRepository <Contract>()).Returns(mock.Object);
            _contractController = new ContractController(factoryMock.Object);

            var json     = _contractController.GetAll();
            var contract = json.Value as List <Contract>;

            Assert.NotNull(json);
            Assert.NotNull(contract);
            Assert.AreEqual(contract.Count, 2);

            //var mock1 = new Mock<IRepository<Contract>>();
            //mock1.Setup(repo => repo.GetAll().FirstOrDefault()).Returns(GetFirstOrDefaultTest(1));
            //var factoryMock1 = new Mock<IRepositoryFactory>();
            //factoryMock1.Setup(f => f.GetRepository<Contract>()).Returns(mock1.Object);
            //_contractController = new ContractController(factoryMock1.Object);

            //json = _contractController.GetAll();
            //contract = json.Value as List<Contract>;
            //Assert.AreEqual();
        }
예제 #13
0
        private void editContractButton_Click(object sender, EventArgs e)
        {
            DataGridViewRow selectedRow = contractsDataGridView.SelectedRows[0];
            int             contractId  = (int)selectedRow.Cells["contractidDataGridViewTextBoxColumn1"].Value;

            DataRow[] rows = contractsDataTable.Select(String.Format("contract_id = {0}", contractId));

            int maxContractId  = dataController.GetMaxId(contractsDataTable, "contract_id");
            int maxClientId    = dataController.GetMaxId(contractsDataTable, "client_id");
            int maxHouseId     = dataController.GetMaxId(contractsDataTable, "house_id");
            int maxApartmentId = dataController.GetMaxId(contractsDataTable, "apartment_id");

            ContractForm contractForm = new ContractForm(rows[0], true, maxContractId, maxClientId, maxHouseId, maxApartmentId);

            if (contractForm.ShowDialog() == DialogResult.OK)
            {
                ContractController contractController = new ContractController(contractForm.Row);
                int result = contractController.Update();
                if (result == 0)
                {
                    MessageBox.Show("Ошибка выполнения редактирования");
                }
                else
                {
                    MessageBox.Show("Изменения сохранены");
                }

                FillTables();
                ShowRowsCountEverywhere();
            }
        }
예제 #14
0
        public void Details_ReturnViewResult(long id)
        {
            ContractController cc = new ContractController();
            ViewResult         vr = cc.Details(id) as ViewResult;

            Assert.IsNotNull(vr);
        }
예제 #15
0
        public static List <PriceReport> GetDataForPriceReport(DateTime first, DateTime second)
        {
            var priceReportData = new List <PriceReport>();
            var contracts       = ContractController.GetAllContracts();

            using (var read = DatabaseService.ExecuteAndReturn(
                       $@"SELECT s.{Db.Service.serviceTypeName}, t.{Db.ServiceTypes.price}, s.{Db.Service.count} 
FROM (({Db.Purchase.title} p INNER JOIN {Db.Service.title} s 
ON p.{Db.id} = s.{Db.Service.purchaseId}) b INNER JOIN {Db.ServiceTypes.title} t 
ON b.{Db.Service.serviceTypeName} = t.{Db.ServiceTypes.name}) a 
WHERE a.{Db.Purchase.firstDate} BETWEEN {first.Ticks - first.TimeOfDay.Ticks} AND {second.Ticks - second.TimeOfDay.Ticks + TimeSpan.TicksPerDay - 1} 
GROUP BY s.{Db.Service.serviceTypeName};"))
            {
                while (read.Read())
                {
                    var price = Convert.ToInt32(read.GetValue(read.GetOrdinal(Db.ServiceTypes.price)));
                    var count = Convert.ToInt32(read.GetValue(read.GetOrdinal(Db.Service.count)));
                    priceReportData.Add(
                        new PriceReport(
                            (string)read.GetValue(read.GetOrdinal(Db.Service.serviceTypeName)),
                            price,
                            count,
                            price * count
                            )
                        );
                }
            }
            return(priceReportData);
        }
예제 #16
0
        public async Task FinalizeContractNotAdmin()
        {
            var context = new POAMDbContext();

            RemoveContract(context, "dummyContract");

            var contract = GenerateContract();

            RemoveAdmin(context);

            Authentication.Instance.AdminLogin(CreateAdmin(context));


            var contractController = new ContractController(context);

            await contractController.AddContract(contract);

            Authentication.Instance.Logout();
            RemoveAdmin(context);


            var result = await contractController.FinalizeContract(contract.IdContract);

            var existingContract = context.Contract.FirstOrDefault(c => c.Provider == "dummyContract");


            Assert.NotNull(existingContract);
            var redirectResult = Assert.IsType <RedirectResult>(result);

            Assert.NotNull(redirectResult);
            Assert.Equal("~/MainPage", redirectResult.Url);
        }
예제 #17
0
 private void contractId_txt_SelectedIndexChanged(object sender, EventArgs e)
 {
     selectedContract = contracts.First(c => c.Id == contractId_txt.SelectedItem.ToString());
     clientName.Text  = ContractController.GetClientName(selectedContract);
     names            = Utils.GetNames(selectedContract.FileName);
     filterNames      = names;
     makeExample();
 }
예제 #18
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnEdit_Click(object sender, DirectEventArgs e)
        {
            try
            {
                string contractId = hdfRecordId.Text;
                if (contractId == "")
                {
                    Dialog.Alert("Thông báo bạn chưa chọn bản ghi nào");
                }
                else
                {
                    var contract = ContractController.GetById(Convert.ToInt32(contractId));
                    var util     = new ConvertUtils();
                    txtHopDongSoHopDong.Text = contract.ContractNumber;
                    cbxContractType.SetValue(contract.ContractTypeId);
                    cbxContractType.Text   = contract.ContractTypeName;
                    hdfContractTypeId.Text = contract.ContractTypeId.ToString();
                    cbxJob.SetValue(contract.JobId);
                    cbxJob.Text      = contract.JobName;
                    hdfCbxJobId.Text = contract.JobId.ToString();
                    if (!util.IsDateNull(contract.ContractEndDate))
                    {
                        dfHopDongNgayKiKet.SetValue(contract.ContractEndDate);
                    }
                    if (!util.IsDateNull(contract.ContractDate))
                    {
                        dfHopDongNgayHopDong.SetValue(contract.ContractDate);
                    }
                    if (!util.IsDateNull(contract.EffectiveDate))
                    {
                        dfNgayCoHieuLuc.SetValue(contract.EffectiveDate);
                    }
                    txt_NguoiKyHD.Text       = contract.PersonRepresent;
                    cbxPosition.Text         = contract.PersonPositionName;
                    hdfContractStatusId.Text = contract.ContractStatusId.ToString();
                    cbxContractStatus.Text   = contract.ContractStatusName;
                    hdfCbxPositionId.Text    = contract.PersonPositionId.ToString();
                    if (!string.IsNullOrEmpty(contract.AttachFileName))
                    {
                        int pos = contract.AttachFileName.LastIndexOf('/');
                        if (pos != -1)
                        {
                            fufHopDongTepTin.Text = contract.AttachFileName.Substring(pos + 1);
                        }

                        hdfHopDongTepTinDK.Text = contract.AttachFileName;
                    }

                    txtHopDongGhiChu.Text = contract.Note;
                    wdHopDong.Show();
                }
            }
            catch (Exception ex)
            {
                Dialog.ShowError(ex.Message);
            }
        }
예제 #19
0
        private void executeServicesToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var contracts = ContractController.GetAllContracts();

            if (contracts?.Count != 0)
            {
                new ExecuteServicesForm(contracts).ShowDialog();
            }
        }
예제 #20
0
        private void SelectContracts()
        {
            string name    = nameTextBox.Text;
            string address = contractAddressTextBox.Text;

            DataTable dataTable = ContractController.SelectContracts(name, address);

            contractsDataGridView.DataSource = dataTable;
            ShowRowsCount(contractsDataGridView, contractsCountLabel);
        }
예제 #21
0
        public void Delete()
        {
            // Arrange
            ContractController controller = new ContractController();

            // Act
            controller.Delete("5");

            // Assert
        }
예제 #22
0
 public void Initialize()
 {
     this.clientRepositoryMock    = new Mock <IClientRepository>();
     this.plataRepositoryMock     = new Mock <IPlataRepository>();
     this.contractRepository      = new Mock <IContractRepository>();
     this.abonamentRepositoryMock = new Mock <IAbonamentRepository>();
     this.clientController        = new ClientController(this.clientRepositoryMock.Object, this.plataRepositoryMock.Object,
                                                         new Mock <IConvorbireTelefonicaRepository>().Object, new Mock <IAbonamentRepository>().Object);
     this.controller = new ContractController(this.contractRepository.Object, this.clientController, this.plataRepositoryMock.Object, this.abonamentRepositoryMock.Object);
 }
예제 #23
0
        public async Task GetById()
        {
            // Arrange
            ContractController controller = new ContractController();

            // Act
            var result = await controller.Get("5");

            // Assert
            Assert.IsNotNull(result);
            //Assert.AreEqual("value", result);
        }
예제 #24
0
        protected void InitWindowFluctuation(object sender, DirectEventArgs e)
        {
            int id;

            if (!int.TryParse(hdfKeyRecord.Text, out id) || id <= 0)
            {
                return;
            }
            var recordId   = int.Parse(hdfRecordId.Text);
            var hs         = RecordController.GetById(recordId);
            var hsTeam     = TeamController.GetByRecordId(recordId);
            var hsSalary   = SalaryDecisionController.GetCurrent(recordId);
            var hsContract = ContractController.GetByConditionRecord(recordId);

            if (hs != null)
            {
                cbxChonCanBo.SelectedItem.Text = hs.FullName;
                txtEmployeeCode.Text           = hs.EmployeeCode;
                txtDepartment.Text             = hs.DepartmentName;
                txtBirthDate.Text = hs.BirthDateVn;
                txtPosition.Text  = hs.PositionName;
            }

            txtTeam.Text            = hsTeam.TeamName;
            txtConstruction.Text    = hsTeam.ConstructionName;
            txtSalaryInsurance.Text = hsSalary.InsuranceSalary.ToString();
            txtInsuranceSubmit.Text = (hsSalary.InsuranceSalary * (decimal)0.32).ToString();
            txtContractNumber.Text  = hsContract.ContractNumber;
            if (hsContract.ContractDate != null)
            {
                txtContractDate.SelectedDate = (DateTime)hsContract.ContractDate;
            }
            if (hsContract.EffectiveDate != null)
            {
                txtEffectiveDate.SelectedDate = (DateTime)hsContract.EffectiveDate;
            }
            var fluc = hr_FluctuationInsuranceServices.GetById(Convert.ToInt32(hdfKeyRecord.Text));

            txtReason.Text = fluc.Reason;
            if (fluc.Type == false)
            {
                rbIncrease.Checked = true;
            }
            else
            {
                rbDecrease.Checked = true;
            }

            wdCreateFluctuation.Title = @"Cập nhật quyết định tăng giảm BHXH, BHYT, BHTN";
            wdCreateFluctuation.Show();
            hdfCommandName.Text = @"Update";
            hdfChonCanBo.Text   = hsTeam.RecordId.ToString();
        }
예제 #25
0
 public SelectContractForm()
 {
     contracts = ContractController.GetAllContracts();
     if (contracts?.Count == 0)
     {
         DontShow = true;
         return;
     }
     Contract = contracts.First();
     selected = false;
     InitializeComponent();
     AddContracts();
 }
예제 #26
0
        public ContractLayout()
        {
            this.Build();

            new AssetsController(this);
            _ContractController = new ContractController(this);
            _DeltasController   = new DeltasController(this);

            InitLayout();
            InitSecureTokenSelect();
            InitHandlers();
            UpdateUI();
        }
예제 #27
0
 private void btn_send_to_database_Click(object sender, EventArgs e)
 {
     if (id != 0)
     {
         ContractController.UpdateContract(id, CompanyController.getByName(cbox_companies.Text), PatentController.getByNumber(cbox_patents.Text), dtime_deposit_date.Value, (int)nbox_duration.Value, Convert.ToDouble(tbox_price.Text));
         MessageBox.Show("Le contrat a été correctement mise à jour dans la base de données", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     else
     {
         ContractController.AddContract(CompanyController.getByName(cbox_companies.Text), PatentController.getByNumber(cbox_patents.Text), dtime_deposit_date.Value, (int)nbox_duration.Value, Convert.ToDouble(tbox_price.Text.Replace('.', ',')));
         MessageBox.Show("Le contrat a été correctement ajoutée à la base de données", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
     }
     uc_MainContract.Instance.ReloadPanel();
     this.SendToBack();
 }
예제 #28
0
 public SeatingMapForm()
 {
     InitializeComponent();
     font = new Font("Times New Roman", 12F, FontStyle.Regular, GraphicsUnit.Point, 204);
     changeFont();
     contracts = ContractController.GetAllContracts();
     if (contracts?.Count == 0)
     {
         return;
     }
     names            = new List <string>();
     selectedContract = contracts.First();
     clientName.Text  = ContractController.GetClientName(selectedContract);
     AddContracts();
 }
예제 #29
0
        public void Create2()
        {
            Contract contract = new Contract()
            {
                Id = 1
            };
            var mock = new Mock <IRepository <Contract> >();

            mock.Setup(repo => repo.Create(contract));
            var factoryMock = new Mock <IRepositoryFactory>();

            factoryMock.Setup(f => f.GetRepository <Contract>()).Returns(mock.Object);
            _contractController = new ContractController(factoryMock.Object);
            //Assert.AreEqual(contract, factoryMock);
        }
예제 #30
0
        public ExecuteServicesForm(List <Contract> contracts)
        {
            this.contracts = contracts;
            employees      = EmployeeController.GetAllEmployees();

            selectedContract = contracts.First();
            InitializeComponent();
            AddContracts();
            employeesList.DisplayStyle     = DataGridViewComboBoxDisplayStyle.Nothing;
            executeView.AllowUserToAddRows = false;
            executeView.MultiSelect        = false;
            executeView.SelectionMode      = DataGridViewSelectionMode.FullRowSelect;
            addEmployeesList(employeesList);
            clientName.Text = ContractController.GetClientName(selectedContract);
            ViewData();
        }
예제 #31
0
 public static ContractController Fixture()
 {
     ContractController controller = new ContractController(new ContractRepository(), "", new LoginView());
     return controller;
 }