예제 #1
0
        private bool ValidateSurveyAdd(Survey survey, ResearchArea researchArea, DateTime start, DateTime end)
        {
            bool isValid = true;
            List <ResearchAreaSurvey> surveys = (List <ResearchAreaSurvey>)sRepository
                                                .GetResearchAreaSurveys(researchArea);

            foreach (ResearchAreaSurvey addedSurvey in surveys)
            {
                if (addedSurvey.SurveyId == survey.Id)
                {
                    errorProvider.SetError(cboSurveySelector,
                                           "Tämä kysely on jo yhdistetty valittuun tutkimusalueeseen.");
                    isValid = false;
                }

                if (addedSurvey.StartDate <= start && addedSurvey.EndDate >= start)
                {
                    errorProvider.SetError(dtpStartDate,
                                           "Kyselyn alkuajankohta on toisen kyselyn voimassaoloajan sisällä.\n" +
                                           "Tutkimusalueella voi olla vain yksi aktiivinen kysely kerrallaan.");
                    isValid = false;
                }

                if (addedSurvey.StartDate <= end && addedSurvey.EndDate >= end)
                {
                    errorProvider.SetError(dtpEndDate,
                                           "Kyselyn loppuajankohta on toisen kyselyn voimassaoloajan sisällä.\n" +
                                           "Tutkimusalueella voi olla vain yksi aktiivinen kysely kerrallaan.");
                    isValid = false;
                }
            }

            return(isValid);
        }
예제 #2
0
        public async Task <bool> updateResearchArea(ResearchArea researchArea)
        {
            _context.researchAreas.Update(researchArea);

            var updated = await _context.SaveChangesAsync();

            return(updated > 0);
        }
예제 #3
0
        public async Task <bool> createResearchArea(ResearchArea researchArea)
        {
            await _context.researchAreas.AddAsync(researchArea);

            var created = await _context.SaveChangesAsync();

            return(created > 0);
        }
예제 #4
0
 private void cboResearchArea_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (cboResearchArea.SelectedItem != null)
     {
         ResearchArea rs = cboResearchArea.SelectedItem as ResearchArea;
         lbvResearchAreaSurveys.DataSource = sRepository.GetResearchAreaSurveys(rs);
     }
 }
예제 #5
0
 public void AddSurveyForm_FormClosed(object sender, FormClosedEventArgs e)
 {
     if (cboResearchArea.SelectedItem != null)
     {
         ResearchArea rs = cboResearchArea.SelectedItem as ResearchArea;
         lbvResearchAreaSurveys.DataSource = sRepository.GetResearchAreaSurveys(rs);
         lbvSurveys.DataSource             = sRepository.GetAll();
         cboSurveySelector.DataSource      = sRepository.GetAll();
     }
 }
예제 #6
0
        public void AddToResearchArea(Survey survey, ResearchArea researchArea, DateTime startDate, DateTime endDate)
        {
            using (MySqlCommand cmd = Connection.CreateCommand()) {
                cmd.CommandText = "INSERT INTO tutkimusalue_kyselyt (kysely_id, tutkimusalue_id, alkupvm, loppupvm) " +
                                  "VALUES (@surveyId, @researchAreaId, @startDate, @endDate)";

                cmd.Parameters.AddWithValue("surveyId", survey.Id);
                cmd.Parameters.AddWithValue("researchAreaId", researchArea.Id);
                cmd.Parameters.AddWithValue("startDate", startDate.ToString("yyyy-MM-dd"));
                cmd.Parameters.AddWithValue("endDate", endDate.ToString("yyyy-MM-dd"));

                cmd.ExecuteNonQuery();
            }
        }
예제 #7
0
        // objektien sidonta vastaaviin kenttiin
        private void cbEditItem_Click(object sender, EventArgs e)
        {
            int    selectedItemType = cboItemTypeSelector.SelectedIndex;
            object selectedItem     = dgvItems.SelectedRows[0].DataBoundItem;

            FormHelper.ClearFields(currentLayout);
            SetEditMode(!editMode);

            switch (selectedItemType)
            {
            case 0:
            case 1:
            case 2:
                Resource r = (Resource)selectedItem;
                tbResourceName.Text = r.Name;
                break;

            case 3:
                User u = (User)selectedItem;
                tbUserName.Text    = u.Name;
                tbUserAddress.Text = u.Address;
                tbUserCity.Text    = u.City;
                tbUserKey.Text     = u.Key;
                tbUserZip.Text     = u.Zip;
                cboUserResearchArea.SelectedValue = u.ResearchAreaId;
                break;

            case 4:
                WaterSystem ws = (WaterSystem)selectedItem;
                tbResourceName.Text = ws.Name;
                break;

            case 5:
                FishingArea fa = (FishingArea)selectedItem;
                tbFishingAreaName.Text = fa.Name;
                cboFishingAreaResearchArea.SelectedValue = fa.ResearchAreaId;
                break;

            case 6:
                ResearchArea ra = (ResearchArea)selectedItem;
                tbResearchAreaName.Text = ra.Name;
                cboResearchAreaWaterSystem.SelectedValue = ra.WaterSystemId;
                break;
            }
        }
예제 #8
0
        private void btnAddSurveyToResearchArea_Click(object sender, EventArgs e)
        {
            if (cboSurveySelector.SelectedItem != null && cboResearchArea.SelectedItem != null)
            {
                FormHelper.ClearErrors(grpConnectSurvey, errorProvider);

                Survey       survey       = cboSurveySelector.SelectedItem as Survey;
                ResearchArea researchArea = cboResearchArea.SelectedItem as ResearchArea;
                DateTime     start        = dtpStartDate.Value;
                DateTime     end          = dtpEndDate.Value;

                if (ValidateSurveyAdd(survey, researchArea, start, end))
                {
                    sRepository.AddToResearchArea(survey, researchArea, start, end);
                    lbvResearchAreaSurveys.DataSource = sRepository.GetResearchAreaSurveys(researchArea);
                }
            }
        }
예제 #9
0
        public async Task <IActionResult> Create(ResearchArea researchArea)
        {
            var user = await GetCurrentUserAsync();

            var addResearchArea = new ResearchArea
            {
                ResearchAreaID = Guid.NewGuid(),
                Name           = researchArea.Name,
                DepartmentID   = user.DepartmentID
            };

            if (await _researchAreaService.checkResearchAreaExist(addResearchArea, user.DepartmentID))
            {
                return(RedirectToAction("Create", new { Message = MessageNote.Exist }));
            }

            await _researchAreaService.createResearchArea(addResearchArea);

            return(RedirectToAction("Detail", new { id = addResearchArea.ResearchAreaID, Message = MessageNote.Exist }));
        }
예제 #10
0
        private void btnDeleteSurveyFromResearchArea_Click(object sender, EventArgs e)
        {
            if (lbvResearchAreaSurveys.SelectedItem != null && cboResearchArea.SelectedItem != null)
            {
                ResearchAreaSurvey rsa = lbvResearchAreaSurveys.SelectedItem as ResearchAreaSurvey;
                ResearchArea       ra  = cboResearchArea.SelectedItem as ResearchArea;

                if (lbvSurveys.SelectedItem != null)
                {
                    DialogResult dr = MessageBox.Show("Kyselyn yhteys tutkimusalueeseen poistetaan, eikä siihen voi enää vastata." +
                                                      " Jos haluat säilyttää kyselyyn liittyvät vastaukset, tuo ne exceliin ennen poistoa.\n\nHaluatko jatkaa?",
                                                      "Huomio", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

                    if (dr == DialogResult.Yes)
                    {
                        sRepository.RemoveFromResearchArea(rsa);
                        lbvResearchAreaSurveys.DataSource = sRepository.GetResearchAreaSurveys(ra);
                    }
                }
            }
        }
예제 #11
0
        public IEnumerable <ResearchAreaSurvey> GetResearchAreaSurveys(ResearchArea rs)
        {
            using (MySqlCommand cmd = Connection.CreateCommand()) {
                cmd.CommandText = "SELECT tk.kysely_id, tk.tutkimusalue_id, tk.alkupvm, tk.loppupvm, k.nimi " +
                                  "FROM tutkimusalue_kyselyt tk INNER JOIN kyselyt k ON k.id = tk.kysely_id WHERE tk.tutkimusalue_id = @id";
                cmd.Parameters.AddWithValue("id", rs.Id);

                using (MySqlDataReader reader = cmd.ExecuteReader()) {
                    List <ResearchAreaSurvey> items = new List <ResearchAreaSurvey>();

                    while (reader.Read())
                    {
                        ResearchAreaSurvey item = new ResearchAreaSurvey();
                        Map(reader, item);
                        items.Add(item);
                    }

                    return(items);
                }
            }
        }
예제 #12
0
        public async Task <IActionResult> Update(Guid?Id, ResearchArea researchArea)
        {
            if (Id == null)
            {
                return(NotFound());
            }

            var user = await GetCurrentUserAsync();

            if (await _researchAreaService.checkResearchAreaExist(researchArea, user.DepartmentID))
            {
                return(RedirectToAction("Update", new { id = Id, Message = MessageNote.Exist }));
            }

            var getResearchArea = await _researchAreaService.getResearchAreaById(Id);

            getResearchArea.Name = researchArea.Name;

            await _researchAreaService.updateResearchArea(getResearchArea);

            return(RedirectToAction("Detail", new { id = Id, Message = MessageNote.Update }));
        }
예제 #13
0
 public async Task <bool> checkResearchAreaExist(ResearchArea researchArea, Guid DepartmentID)
 {
     return(await _context.researchAreas
            .AnyAsync(s => s.Name.Equals(researchArea.Name) && s.DepartmentID.Equals(DepartmentID)));
 }