예제 #1
0
        public void UpdateResponsible()
        {
            //Prueba la asigna un responsable a la donación

            //Creación del donador, un empleado (persona), la donación y el voluntario
            DonorBM  donor    = create_donor();
            PersonBM personBm = create_person();

            DonationStatusBM statusBm       = get_status(1);
            DonationBLL      donationBll    = new DonationBLL();
            DonationBM       donationBm     = new DonationBM(3, donor.donorId, statusBm, "Esta es una donación creada por un test.");
            ResultBM         donationResult = donationBll.SaveDonation(donationBm);

            BranchBLL branchBll    = new BranchBLL();
            ResultBM  branchResult = branchBll.GetBranch(1);

            VolunteerBLL volunteerBll   = new VolunteerBLL();
            VolunteerBM  volunteerBm    = new VolunteerBM(personBm, branchResult.GetValue <BranchBM>());
            ResultBM     volunterResult = volunteerBll.SaveVolunteer(volunteerBm);

            donationBm.volunteer = volunterResult.GetValue <VolunteerBM>();
            ResultBM updateResult = donationBll.UpdateDonation(donationBm);

            Assert.IsTrue(updateResult.IsValid(), "La operación debería ser válida.");

            donationResult = donationBll.GetDonation(updateResult.GetValue <DonationBM>().id);
            Assert.IsTrue(donationResult.IsValid(), "La operación debería ser válida.");
            Assert.IsNotNull(donationResult.GetValue(), "Deería haber devuelto una donación.");
            Assert.IsNotNull(donationResult.GetValue <DonationBM>().volunteer, "Deería haber devuelto un voluntario.");
            Assert.AreEqual(donationResult.GetValue <DonationBM>().volunteer.volunteerId, volunterResult.GetValue <VolunteerBM>().volunteerId, "Debería ser el mismo voluntario.");
        }
예제 #2
0
        private void cmdAccept_Click(object sender, EventArgs e)
        {
            DialogResult pressed = MessageBox.Show(SessionHelper.GetTranslation("SAVE_CHANGES_QUESTION"), "Confirmación", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (pressed == DialogResult.No)
            {
                return;
            }

            try
            {
                DonationBLL donationBll = new DonationBLL();
                ResultBM    donationResult;

                this.Entity.Arrival   = dateArrival.Value;
                this.Entity.Items     = int.Parse(numericItems.Value.ToString());
                this.Entity.Comment   = txtComment.Text;
                this.Entity.donor     = (DonorBM)cmbDonor.SelectedItem;
                this.Entity.volunteer = (VolunteerBM)cmbVolunteer.SelectedItem;

                //Si se seleccionó fecha manual, entonces se quiere retirar y el estado debe ser a retirar
                DonationStatusBM status = new DonationStatusBM();
                status.id = chkPickup.Checked ? (int)DonationStatusBM.Status.TO_BE_RETRIEVED : (int)DonationStatusBM.Status.RECEIVED;
                this.Entity.donationStatus = status;

                if (isUpdate)
                {
                    donationResult = donationBll.UpdateDonation(this.Entity);
                }
                else
                {
                    donationResult = donationBll.SaveDonation(this.Entity);
                }

                if (donationResult.IsValid())
                {
                    if (!this.IsUpdate)
                    {
                        MessageBox.Show("Lote creado " + this.Entity.Lot, "Lote creado", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    Close();
                }
                else
                {
                    MessageBox.Show(donationResult.description, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
            catch (Exception exception)
            {
                MessageBox.Show("Se ha producido el siguiente error: " + exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
예제 #3
0
        public void CreateDonationFailsDonor()
        {
            //Prueba la validación cuando no se provee donador válido
            DonationStatusBM statusBm    = get_status(1);
            DonationBLL      donationBll = new DonationBLL();
            DonationBM       donationBm  = new DonationBM(21, 0, statusBm);

            ResultBM donationResult = donationBll.SaveDonation(donationBm);

            Assert.IsFalse(donationResult.IsValid(), "La donación no debería ser válida.");
            Assert.IsNotNull(donationResult.IsCurrentError(ResultBM.Type.INCOMPLETE_FIELDS), "El error debería ser campo incompleto.");
            Assert.AreEqual(donationResult.description, "Debe asignarse donador.", "El error debería coincidir.");
        }
예제 #4
0
        public void CreateDonationFailsItems()
        {
            //Prueba la validación cuando la cantidad de items no es la menos 1
            DonorBM          donor       = create_donor();
            DonationStatusBM statusBm    = get_status(1);
            DonationBLL      donationBll = new DonationBLL();
            DonationBM       donationBm  = new DonationBM(0, donor.donorId, statusBm);

            ResultBM donationResult = donationBll.SaveDonation(donationBm);

            Assert.IsFalse(donationResult.IsValid(), "La donación no debería ser válida.");
            Assert.IsNotNull(donationResult.IsCurrentError(ResultBM.Type.INCOMPLETE_FIELDS), "El error debería ser campo incompleto.");
            Assert.AreEqual(donationResult.description, "La cantidad de bultos debe ser de al menos una unidad.", "El error debería coincidir.");
        }
예제 #5
0
        public void CreateDonationNullComment()
        {
            //Crea una donación
            DonorBM          donor       = create_donor();
            DonationStatusBM statusBm    = get_status(1);
            DonationBLL      donationBll = new DonationBLL();
            DonationBM       donationBm  = new DonationBM(21, donor.donorId, statusBm);

            ResultBM donationResult = donationBll.SaveDonation(donationBm);

            Assert.IsTrue(donationResult.IsValid(), "La donación debería ser válida.");
            Assert.IsNotNull(donationResult.GetValue(), "Debería haber devuelto la donación.");
            Assert.IsNull(donationResult.GetValue <DonationBM>().Comment, "No debería poseer comentario");
        }
예제 #6
0
        public void CreateDonation()
        {
            //Crea una donación
            DonorBM          donor       = create_donor();
            DonationStatusBM statusBm    = get_status(1);
            DonationBLL      donationBll = new DonationBLL();
            DonationBM       donationBm  = new DonationBM(21, donor.donorId, statusBm, "Esta es una donación creada por un test.");

            ResultBM donationResult = donationBll.SaveDonation(donationBm);

            Assert.IsTrue(donationResult.IsValid(), "La donación debería ser válida.");
            Assert.IsNotNull(donationResult.GetValue(), "Deería haber devuelto una donación.");
            Assert.IsTrue(donationResult.GetValue <DonationBM>().id > 0, "El id debería ser mayor a cero.");
            Assert.AreEqual(donationResult.GetValue <DonationBM>().Comment, "Esta es una donación creada por un test.", "Debería poseer comentario");
        }
예제 #7
0
        /// <summary>
        /// Recupera el status de la donación segun el id informado por parámetro.
        /// </summary>
        /// <param name="statusId"></param>
        /// <returns></returns>
        public ResultBM GetDonationStatus(int statusId)
        {
            try
            {
                DonationStatusDAL donationStatusDal = new DonationStatusDAL();
                DonationStatusDTO donationStatusDto = donationStatusDal.GetDonationStatus(statusId);
                DonationStatusBM  donationStatusBm  = null;

                if (donationStatusDto != null)
                {
                    donationStatusBm = new DonationStatusBM(donationStatusDto);
                }

                return(new ResultBM(ResultBM.Type.OK, "Operación exitosa.", donationStatusBm));
            }
            catch (Exception exception)
            {
                return(new ResultBM(ResultBM.Type.EXCEPTION, SessionHelper.GetTranslation("RETRIEVING_ERROR") + " " + exception.Message, exception));
            }
        }