예제 #1
0
        public async Task <ActionResult <Empleat> > PostEmpleat(Empleat empleat)
        {
            _context.Empleats.Add(empleat);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetEmpleat", new { id = empleat.Id }, empleat));
        }
예제 #2
0
 //public void Put(int id, [FromBody] string value)
 public async Task <SaveValidation <Empleat> > PutEmpleat(Guid id, Empleat empleat)
 {
     return(await Task.Run(() =>
     {
         return empleat.Save();
     }));
 }
예제 #3
0
        public void TestProjectes()
        {
            ObservableCollection <Projecte> projectes = Projecte.GetProjectes();
            Empresa  emp = new Empresa("Milà i Fontanals");
            DateTime d   = new DateTime();

            d.AddDays(1);
            Empleat e = new Empleat(emp, "Anna Maria", "Reyes Bello", "47112681X", d);

            e.AddProjecte(projectes[0]);

            Debug.Write(e.GetProjectes());
            IEnumerator <Projecte> en = e.GetProjectes();
            int      pc = 0;
            Projecte p;

            while (en.MoveNext())
            {
                p = en.Current;
                Assert.AreEqual(p, projectes[0]);
                pc++;
            }
            Assert.AreEqual(1, pc);
            ObservableCollection <Projecte> projecteOnTreballo = new ObservableCollection <Projecte>();

            projecteOnTreballo.Add(projectes[0]);
            // comparació de les llistes comparant item per item amb Equals()
            Assert.IsTrue(projecteOnTreballo.SequenceEqual(e.ProjectesOnTreballo));
            Assert.IsFalse(projecteOnTreballo.SequenceEqual(e.ProjectesOnNoTreballo));
        }
예제 #4
0
        public async Task <IActionResult> PutEmpleat(long id, Empleat empleat)
        {
            if (id != empleat.Id)
            {
                return(BadRequest());
            }

            _context.Entry(empleat).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EmpleatExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #5
0
        public void BotonCancelar()
        {
            Window   w                       = StartApplicationAndGetWindow();
            ListView dgrEmpleats             = w.Get <ListView>("dgrEmpleats");
            int      indexEmpleatSeleccionat = 0;

            dgrEmpleats.Rows[indexEmpleatSeleccionat].Click();

            Button btnCancel = w.Get <Button>("btnCancel");

            Assert.AreEqual(false, btnCancel.Visible);

            TextBox txbNIF = w.Get <TextBox>("txbNIF");

            txbNIF.Text = "47112681X";

            Assert.AreEqual("47112681X", txbNIF.Text);

            Assert.AreEqual(true, btnCancel.Visible);

            btnCancel.Click();

            Empleat empleatSeleccionat = Empleat.GetEmpleats()[indexEmpleatSeleccionat];

            Assert.AreEqual(empleatSeleccionat.NIF, txbNIF.Text);

            w.Close();
        }
예제 #6
0
        public void TestRemoveProjectes()
        {
            Empleat e = Empleat.GetEmpleats()[0];
            ObservableCollection <Projecte> projecteOnTreballo = new ObservableCollection <Projecte>();
            IEnumerator <Projecte>          en = e.GetProjectes();
            int i = 0;

            while (en.MoveNext())
            {
                projecteOnTreballo.Add(en.Current);
                projecteOnTreballo[i].AddEmpleat(e);
                i++;
            }

            e.RemoveProjecte(projecteOnTreballo[0]);
            projecteOnTreballo.Remove(projecteOnTreballo[0]);

            en = e.GetProjectes();
            i  = 0;
            while (en.MoveNext())
            {
                i++;
            }

            Assert.AreEqual(1, i);
        }
예제 #7
0
        public async Task <IActionResult> Put([FromRoute] int id, [FromBody] Empleat empleat)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != empleat.Id)
            {
                return(BadRequest());
            }

            _context.Entry(empleat).State = EntityState.Modified;

            try
            {
                _data.Update(empleat);
                var save = await _data.SaveAsync(empleat);
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!EmpleatExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
예제 #8
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            int empleatSeleccionat = dgrEmpleats.SelectedIndex;

            Empleat.GetEmpleats()[empleatSeleccionat] = EmpleatSeleccionat;
            dgrEmpleats.ItemsSource = null;
            recarregaLlistaEmpleats();
            dgrEmpleats.SelectedIndex = empleatSeleccionat;
            EstatButton = Estat.SENSE_CANVIS;
        }
예제 #9
0
 private void dgrEmpleats_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     if (dgrEmpleats.SelectedValue != null)
     {
         Empleat emp = (Empleat)dgrEmpleats.SelectedValue;
         // Treballarem sobre una còpia, amb tota la tranquilitat del món.
         EmpleatSeleccionat = emp.Clonar();
         EmpleatSeleccionat.PropertyChanged += Empleat_PropertyChanged;
         btnDelete.IsEnabled = true;
     }
 }
예제 #10
0
        public void TestEmpleatEquals()
        {
            Empleat e1 = Empleat.GetEmpleats()[0];
            Empleat e2 = Empleat.GetEmpleats()[0];
            Empleat e3 = Empleat.GetEmpleats()[1];
            Empleat e4 = null;

            Assert.AreEqual(true, e1.Equals(e2));
            Assert.AreEqual(false, e1.Equals(e3));
            Assert.AreEqual(false, e1.Equals(e4));
        }
예제 #11
0
        public ActionResult Create(int id, string nom, string cognom, string carrec, int sou)
        {
            Empleat emp = new Empleat();

            emp.Id     = id;
            emp.Nom    = nom;
            emp.Cognom = cognom;
            emp.Carrec = carrec;
            emp.Sou    = sou;
            return(View(emp));
        }
예제 #12
0
        public async Task <IActionResult> Post([FromBody] Empleat empleat)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _data.Add(empleat);
            var save = await _data.SaveAsync(empleat);

            return(CreatedAtAction("GetBlogPost", new { id = empleat.Id }, empleat));
        }
예제 #13
0
        public void TestConstructorNIFIncorrecte()
        {
            bool     testErroni = false;
            Empresa  emp        = new Empresa("Milà i Fontanals");
            DateTime d          = new DateTime();

            d.AddDays(1);

            //NIF de l'empleat sense lletra
            try
            {
                Empleat em = new Empleat(emp, "Anna Maria", "Reyes Bello", "47112681", d);
                testErroni = true;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
            if (testErroni)
            {
                Assert.Fail("Cogom incorrecte");
            }

            //NIF de l'empleat a cadena buida
            try
            {
                Empleat em = new Empleat(emp, "Anna Maria", "Reyes Bello", "", d);
                testErroni = true;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
            if (testErroni)
            {
                Assert.Fail("Cogom incorrecte");
            }

            //NIF de l'empleat null
            try
            {
                Empleat em = new Empleat(emp, "Anna Maria", "Reyes Bello", null, d);
                testErroni = true;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
            if (testErroni)
            {
                Assert.Fail("Cogom incorrecte");
            }
        }
예제 #14
0
        private void Empleat_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            Boolean nifValid         = Empleat.validaNif(txbNIF.Text);
            Boolean nomValid         = Empleat.validaNomICognoms(txbNom.Text);
            Boolean cognomsValid     = Empleat.validaNomICognoms(txbCognoms.Text);
            Boolean DataEntradaValid = Empleat.validaDataEntrada((DateTime)dtpData.SelectedDate);

            if (nifValid && nomValid && cognomsValid && DataEntradaValid)
            {
                ActivarButtonSave();
            }
            CanviarEstat();
        }
예제 #15
0
 private void txbCognoms_TextChanged(object sender, TextChangedEventArgs e)
 {
     if (EmpleatSeleccionat != null)
     {
         if (Empleat.validaNomICognoms(txbCognoms.Text))
         {
             txbCognoms.BorderBrush = new SolidColorBrush(Colors.Transparent);
             BindingExpression be = txbCognoms.GetBindingExpression(TextBox.TextProperty);
             be.UpdateSource();
         }
         else
         {
             txbCognoms.BorderBrush = new SolidColorBrush(Colors.Red);
             DesactivarButtonSave();
         }
     }
 }
예제 #16
0
 private void dtpData_SelectedDateChanged(object sender, SelectionChangedEventArgs e)
 {
     if (EmpleatSeleccionat != null)
     {
         if (Empleat.validaDataEntrada((DateTime)dtpData.SelectedDate))
         {
             dtpData.BorderBrush = new SolidColorBrush(Colors.Transparent);
             BindingExpression be = dtpData.GetBindingExpression(DatePicker.SelectedDateProperty);
             be.UpdateSource();
         }
         else
         {
             dtpData.BorderBrush = new SolidColorBrush(Colors.Red);
             DesactivarButtonSave();
         }
     }
 }
예제 #17
0
        public void TestConstructorDataIncorporacioIncorrecte()
        {
            bool     testErroni = false;
            Empresa  emp        = new Empresa("Milà i Fontanals");
            DateTime d          = new DateTime();

            //Data d'incorporacio amb data d'avui
            try
            {
                Empleat em = new Empleat(emp, "Anna Maria", "Reyes Bello", "47112681", d);
                testErroni = true;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
            if (testErroni)
            {
                Assert.Fail("Cogom incorrecte");
            }
        }
예제 #18
0
        public void TestConstructorCognomIncorrecte()
        {
            bool     testErroni = false;
            Empresa  emp        = new Empresa("Milà i Fontanals");
            DateTime d          = new DateTime();

            d.AddDays(1);

            //Cogom de l'empleat massa curt
            try
            {
                Empleat em = new Empleat(emp, "Anna Maria", "R", "47112681X", d);
                testErroni = true;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
            if (testErroni)
            {
                Assert.Fail("Cogom incorrecte");
            }

            //Cogom de l'empleat null
            try
            {
                Empleat em = new Empleat(emp, "Anna Maria", null, "47112681X", d);
                testErroni = true;
            }
            catch (Exception e)
            {
                Debug.WriteLine(e.Message);
            }
            if (testErroni)
            {
                Assert.Fail("Cogom incorrecte");
            }
        }
예제 #19
0
        public void TestConstructorSenseErrors()
        {
            //Amb totes les dades
            Empresa  emp = new Empresa("Milà i Fontanals");
            DateTime d   = new DateTime();

            d.AddDays(1);
            Empleat e = new Empleat(emp, "Anna Maria", "Reyes Bello", "47112681X", d);

            Assert.AreEqual(emp, e.EmpresaActual);
            Assert.AreEqual("Anna Maria", e.Nom);
            Assert.AreEqual("Reyes Bello", e.Cognoms);
            Assert.AreEqual("47112681X", e.NIF);
            Assert.AreEqual(d, e.DataIncorporacio);

            // Empresa nula
            e = new Empleat(null, "Anna Maria", "Reyes Bello", "47112681X", d);
            Assert.AreEqual(null, e.EmpresaActual);
            Assert.AreEqual("Anna Maria", e.Nom);
            Assert.AreEqual("Reyes Bello", e.Cognoms);
            Assert.AreEqual("47112681X", e.NIF);
            Assert.AreEqual(d, e.DataIncorporacio);
        }
예제 #20
0
        public void SeleccioEmpleat()
        {
            Window   w                       = StartApplicationAndGetWindow();
            ListView dgrEmpleats             = w.Get <ListView>("dgrEmpleats");
            int      indexEmpleatSeleccionat = 0;

            dgrEmpleats.Rows[indexEmpleatSeleccionat].Click();
            TextBox        txbNIF       = w.Get <TextBox>("txbNIF");
            TextBox        txbNom       = w.Get <TextBox>("txbNom");
            TextBox        txbCognoms   = w.Get <TextBox>("txbCognoms");
            DateTimePicker dtpData      = w.Get <DateTimePicker>("dtpData");
            ListView       dgrProjectes = w.Get <ListView>("dgrProjectes");

            Empleat empleatSeleccionat = Empleat.GetEmpleats()[indexEmpleatSeleccionat];

            Assert.AreEqual(empleatSeleccionat.NIF, txbNIF.Text);
            Assert.AreEqual(empleatSeleccionat.Nom, txbNom.Text);
            Assert.AreEqual(empleatSeleccionat.Cognoms, txbCognoms.Text);

            /*
             * Faig comprovacio individual per Dia, Mes i Any perque si comprovo per dates
             * al no ser els segons exactament els mateixos el test falla, per evitar-ho,
             * he decidit fer la comprovació aixi.
             */
            Assert.AreEqual(empleatSeleccionat.DataIncorporacio.Day, ((DateTime)dtpData.Date).Day);
            Assert.AreEqual(empleatSeleccionat.DataIncorporacio.Month, ((DateTime)dtpData.Date).Month);
            Assert.AreEqual(empleatSeleccionat.DataIncorporacio.Year, ((DateTime)dtpData.Date).Year);
            for (int i = 0; i < empleatSeleccionat.ProjectesOnTreballo.Count; i++)
            {
                Assert.AreEqual(empleatSeleccionat.ProjectesOnTreballo[i].Codi,
                                Int32.Parse(dgrProjectes.Rows[i].Cells[0].Text));
                Assert.AreEqual(empleatSeleccionat.ProjectesOnTreballo[i].Nom,
                                dgrProjectes.Rows[i].Cells[1].Text);
            }

            w.Close();
        }
예제 #21
0
        public void TestAddProjectes()
        {
            ObservableCollection <Projecte> projectes = Projecte.GetProjectes();
            Empresa  emp = new Empresa("Milà i Fontanals");
            DateTime d   = new DateTime();

            d.AddDays(1);
            Empleat e = new Empleat(emp, "Anna Maria", "Reyes Bello", "47112681X", d);

            e.AddProjecte(projectes[0]);
            e.AddProjecte(projectes[1]);

            IEnumerator <Projecte> en = e.GetProjectes();
            int      pc = 0;
            Projecte p;

            while (en.MoveNext())
            {
                p = en.Current;
                Assert.AreEqual(p, projectes[pc]);
                pc++;
            }
            Assert.AreEqual(2, pc);
        }
예제 #22
0
        public IActionResult Create([Bind("Id,Nom,Cognom,Carrec,Sou")] Empleat emp)
        {
            EmpleatContext context = HttpContext.RequestServices.GetService(typeof(MySQL_Empleat.Models.EmpleatContext)) as EmpleatContext;

            return(View(context.InsertEmpleat(emp)));
        }
예제 #23
0
        public void TestGetEmpleats()
        {
            ObservableCollection <Empleat> empleats = Empleat.GetEmpleats();

            Assert.AreEqual(empleats, Empleat.GetEmpleats());
        }
예제 #24
0
 private void recarregaLlistaEmpleats()
 {
     dgrEmpleats.ItemsSource           = Empleat.GetEmpleats();
     dgrEmpleats.Columns[3].Visibility = Visibility.Collapsed;
     dgrEmpleats.Columns[4].Visibility = Visibility.Collapsed;
 }
예제 #25
0
 private void btnDelete_Click(object sender, RoutedEventArgs e)
 {
     dgrEmpleats.SelectedValue = null;
     EmpleatSeleccionat        = null;
     btnDelete.IsEnabled       = false;
 }
예제 #26
0
 private void btnCancel_Click(object sender, RoutedEventArgs e)
 {
     EmpleatSeleccionat = ((Empleat)dgrEmpleats.SelectedValue).Clonar();
     EstatButton        = Estat.SENSE_CANVIS;
 }