예제 #1
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (ExamVedId == null)
            {
                return;
            }

            try
            {
                using (PriemEntities context = new PriemEntities())
                {
                    int cnt = (from ev in context.extExamsVed
                               where ev.Id == ExamVedId && (ev.IsLocked || ev.IsLoad)
                               select ev).Count();

                    if (cnt > 0)
                    {
                        WinFormsServ.Error("Данная ведомость уже закрыта. Удаление невозможно!");
                        return;
                    }

                    if (MainClass.IsPasha())
                    {
                        if (MessageBox.Show("Удалить выбранную ведомость? ", "Внимание", MessageBoxButtons.YesNo) == DialogResult.Yes)
                        {
                            using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew))
                            {
                                context.ExamsVedHistory_DeleteByVedId(ExamVedId);
                                context.ExamsVed_Delete(ExamVedId);

                                transaction.Complete();

                                UpdateVedList();
                            }
                        }
                    }
                }
            }
            catch (Exception de)
            {
                WinFormsServ.Error("Ошибка удаления данных " + de.Message);
            }
        }
예제 #2
0
        private bool Save()
        {
            try
            {
                if (dgvLeft.Rows.Count == 0)
                {
                    MessageBox.Show("Нельзя создать пустую ведомость!", "Внимание");
                    return(false);
                }

                using (PriemEntities context = new PriemEntities())
                {
                    using (TransactionScope transaction = new TransactionScope(TransactionScopeOption.RequiresNew))
                    {
                        if (_Id == null)
                        {
                            ObjectParameter vedParId = new ObjectParameter("id", typeof(Guid));
                            context.ExamsVed_Insert(studyLevelGroupId, facultyId, studyBasisId, passDate.Date, examId, false, false, isAddVed, (isAddVed ? addCount : null), vedParId);
                            _Id = (Guid)vedParId.Value;
                        }
                        else
                        {
                            if (dtPassDate.Value.Date != passDate.Date)
                            {
                                int cnt = (from vd in context.extExamsVed
                                           where vd.ExamId == examId && vd.Date == dtPassDate.Value.Date &&
                                           vd.FacultyId == facultyId && (studyBasisId == null ? vd.StudyBasisId == null : vd.StudyBasisId == studyBasisId)
                                           select vd).Count();

                                if (cnt > 0)
                                {
                                    WinFormsServ.Error(string.Format("Ведомость на этот экзамен на эту дату {0} уже существует! ", studyBasisId == null ? "" : "на эту основу обучения"));
                                    return(false);
                                }
                            }

                            context.ExamsVedHistory_DeleteByVedId(_Id);
                            if (dtPassDate.Value.Date != passDate.Date)
                            {
                                context.ExamsVed_UpdateDate(dtPassDate.Value.Date, _Id);
                            }
                        }

                        //записи в ведомостьхистори
                        foreach (DataGridViewRow r in dgvLeft.Rows)
                        {
                            Guid?persId = new Guid(r.Cells["Id"].Value.ToString());
                            context.ExamsVedHistory_InsertToVed(_Id, persId);
                        }

                        transaction.Complete();

                        return(true);
                    }
                }
            }
            catch (Exception ex)
            {
                WinFormsServ.Error("Ошибка при создании новой ведомости: " + ex.Message);
                return(false);
            }
        }