예제 #1
0
        public IActionResult Create(IFormCollection form, IFormFile imagenDePrenda)
        {
            DB db = new DB();

            Prenda           prendaNueva = new Prenda();
            PrendaRepository prendaDAO   = new PrendaRepository();

            prendaNueva.colorPrincipal  = form["colorPrincipal"];
            prendaNueva.colorSecundario = form["colorSecundario"];

            string idTelaString        = form["tipoDeTela"];
            string idGuardarropaString = form["idGuardarropa"];
            string idTipoPrendaString  = form["tipoDePrenda"];
            string idUsuarioString     = form["idUsuario"];

            int idGuardarropa = Convert.ToInt32(idGuardarropaString);
            int idTela        = Convert.ToInt32(idTelaString);
            int idTipoPrenda  = Convert.ToInt32(idTipoPrendaString);
            int idUsuario     = Convert.ToInt32(idUsuarioString);

            prendaNueva.id_tela    = idTela;
            prendaNueva.tipoPrenda = idTipoPrenda;
            prendaNueva.id_duenio  = idUsuario;

            prendaNueva.urlImagen = prendaNueva.nombreUnicoImagen(imagenDePrenda, hostingEnviroment);

            prendaDAO.CrearPrenda(prendaNueva, db, idGuardarropa);

            TempData["SuccessMessage"] = "Prenda creada correctamente! :D ";

            return(RedirectToAction("Index", "Prendas", new { idUsuario = idUsuario }));
        }
예제 #2
0
        public IActionResult CrearGuardarropa(IFormCollection form)
        {
            DB          db          = new DB();
            Guardarropa guardarropa = new Guardarropa();

            int idUser = Convert.ToInt32(form["idUsuario"]);

            if (form["nombreGuardarropa"] != "")
            {
                guardarropa.nombreGuardarropas = form["nombreGuardarropa"];
                guardarropa.id_duenio          = idUser;

                GuardarropaRepository guardarropaRepo = new GuardarropaRepository();
                guardarropaRepo.Create(guardarropa, db, idUser);

                Prenda p = new Prenda();
                p.crearPrendasVacias(guardarropa.id_guardarropa, idUser);

                TempData["SuccessMessage"] = "Guardarropa " + guardarropa.nombreGuardarropas + " creado con exito!";
                return(RedirectToAction("Index", "Guardarropas", new { idUsuario = idUser }));
            }
            else
            {
                TempData["ErrorMessage"] = "Tenes que ingresar un nombre válido para crear un guardarropa";
                return(RedirectToAction("Index", "Guardarropas", new { idUsuario = idUser }));
            }
        }
예제 #3
0
        public Prenda loguing(int prendaId, DB context)
        {
            Prenda g = new Prenda();

            g = context.prendas.Single(b => b.id_prenda == prendaId);
            var eventos = context.consultarEventos();

            foreach (Evento ev in eventos)
            {
                if (ev.id_atuendo != -1)
                {
                    List <prendaXatuendoRepository> gur = new List <prendaXatuendoRepository>();
                    gur = context.prendaXatuendoRepositories.Where(u => u.id_atuendo == ev.id_atuendo).ToList();
                    foreach (prendaXatuendoRepository gu in gur)
                    {
                        if (gu.id_prenda == prendaId)
                        {
                            g.eventos.Add(ev);
                            break;
                        }
                    }
                }
            }
            TipoPrendaRepository tpr = new TipoPrendaRepository();

            g.tipo = tpr.loguing(g.tipoPrenda, context);
            g.tela = (context.telas.Single(b => b.id_tela == g.id_tela)).descripcion;
            return(g);
        }
예제 #4
0
    public void Confeccionar(Confeccion confeccion, string codigoPrenda)
    {
        confeccion.Codigo           = confeccion.Prenda.Codigo + "_CNFCCN";
        confeccion.Prenda.Cantidad -= confeccion.Cantidad;
        // La confección aunque se realiza con máquinas también depende de el uso que le de la persona.
        // Aunque si tenemos en cuenta la velocidad de las máquinas varían entre 1200 a 300 rpm . Promedio 750 rpm.
        // Se tarda aproximadamente 2 minutos por prenda, aunque varía según la persona y la máquina.
        int prendasObtenidas = confeccion.Cantidad / 2;

        confeccion.Tiempo = prendasObtenidas * 120; //120 segundos cada 2 prendas.
        // Debería elegir el tipo de prenda que desea confeccionar, siendo estas Remera o Pantalón y en base a eso conocer las prendas necesarias;
        PrendaGestor prendaGestor = new PrendaGestor();

        prendaGestor.Modificar(confeccion.Prenda);
        List <Prenda> prendasExistentes = prendaGestor.GetListPrenda();

        if (prendasExistentes.Exists(p => p.Codigo == codigoPrenda))
        {
            Prenda existente = prendaGestor.GetPrenda(prendasExistentes.Find(p => p.Codigo == codigoPrenda));
            existente.Cantidad += prendasObtenidas;
            prendaGestor.Modificar(existente);
        }
        else
        {
            prendaGestor.Alta(new Prenda(codigoPrenda, "Formado por " + confeccion.Prenda.Descripcion, prendasObtenidas, confeccion.Prenda.Talle, true));
        }
        bd.Alta(confeccion);
    }
예제 #5
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            Prenda prenda    = new Prenda();
            int    resultado = 0;
            string msj       = "";



            if ((!string.IsNullOrWhiteSpace(txtNombre.Text)) && (!string.IsNullOrWhiteSpace(txtDescripcion.Text)) && (!string.IsNullOrWhiteSpace(cmbTipoPrenda.Text)))
            {
                prenda.NombrePrenda   = txtNombre.Text.Trim();
                prenda.Descripcion    = txtDescripcion.Text.Trim();
                prenda.precioServicio = Decimal.Round(Convert.ToDecimal(txtPrecio.Text), 2);
                prenda.tipoPrenda     = cmbTipoPrenda.Text;
                prenda.tipo_oferta    = cmbTipoPrenda.ValueMember;



                if (btnGuardar.Text.Equals("&Registrar"))
                {
                    msj       = "Prenda registrada con éxito!!";
                    resultado = PrendaDao.Agregar(prenda);
                }
                if (btnGuardar.Text.Equals("&Actualizar"))
                {
                    msj             = "Prenda actualizada con éxito!!";
                    prenda.idPrenda = Convert.ToInt32(txtCodigo.Text.Trim());
                    resultado       = PrendaDao.Modificar(prenda);
                }
            }
            else
            {
                resultado = 0;
                MessageBox.Show("Debe ingresar los valores");
            }

            if (resultado > 0)
            {
                dgvPrendas.DataSource            = PrendaDao.Listar();
                dgvPrendas.Columns[0].HeaderText = "Código";
                dgvPrendas.Columns[0].Width      = 60;
                dgvPrendas.Columns[1].HeaderText = "Nombre";
                dgvPrendas.Columns[1].Width      = 145;
                dgvPrendas.Columns[2].HeaderText = "Descripción";
                dgvPrendas.Columns[2].Width      = 200;
                dgvPrendas.Columns[3].DefaultCellStyle.Format = "C2";
                dgvPrendas.Columns[3].HeaderText = "Precio";
                dgvPrendas.Columns[4].HeaderText = "Tipo";
                dgvPrendas.Columns[4].Width      = 200;
                tabControl1.SelectedTab          = tabPage2;
                btnGuardar.Text = "&Registrar";
                resetValores();
                MessageBox.Show(msj, "Guardado", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("No se pudo guardar la prenda", "Fallo!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
예제 #6
0
        public void Update(Prenda prenda, DB context)
        {
            var s = context.prendas.Single(b => b.id_prenda == prenda.id_prenda);

            s.calificacion = prenda.calificacion;
            s.cantCalif    = prenda.cantCalif;
            context.SaveChanges();
        }
예제 #7
0
        public ActionResult DeleteConfirmed(int id)
        {
            Prenda prenda = db.Prendas.Find(id);

            db.Prendas.Remove(prenda);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #8
0
        public Prenda BuscarPrendaPorId(int idPrenda)
        {
            DB db = new DB();

            Prenda prenda = db.prendas.FromSqlRaw($"Select * From prendas Where id_prenda = '{idPrenda}'").AsNoTracking().FirstOrDefault();

            return(prenda);
        }
예제 #9
0
        private void btnDetalle_Click(object sender, EventArgs e)
        {
            frmDetalle detalle      = new frmDetalle();
            Prenda     selectedItem = (Prenda)grdPrenda.CurrentRow.DataBoundItem;

            detalle.inicializarDetalle(selectedItem.CodPrenda.ToString());
            detalle.ShowDialog();
        }
예제 #10
0
        private void btn_BajaPrenda_Click(object sender, EventArgs e)
        {
            Prenda prenda = dgv_Prendas.SelectedRows[0].DataBoundItem as Prenda;

            controller.BajaPrenda(prenda);
            dgv_Prendas.DataSource = null;
            dgv_Prendas.DataSource = controller.GetListPrenda();
        }
예제 #11
0
        private void dgv_Prendas_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            Prenda prenda = dgv_Prendas.SelectedRows[0].DataBoundItem as Prenda;

            txt_Codigo.Text      = prenda.Codigo;
            txt_Descripcion.Text = prenda.Descripcion;
            txt_Cantidad.Text    = prenda.Cantidad.ToString();
            txt_Talle.Text       = prenda.Talle;
        }
예제 #12
0
 public Confeccion(int id, string codigo, int cantidad, int tiempo, DateTime fecha, Prenda prenda)
 {
     Id       = id;
     Codigo   = codigo;
     Cantidad = cantidad;
     Tiempo   = tiempo;
     Fecha    = fecha;
     Prenda   = prenda;
 }
예제 #13
0
        public static int Modificar(Prenda prenda)
        {
            int          retorno = 0;
            MySqlCommand comando = new MySqlCommand(string.Format("UPDATE Prenda Set nombrePrenda='{0}',descripcionPrenda='{1}',precioServicio='{2}' where idPrenda='{3}'"
                                                                  , prenda.NombrePrenda, prenda.Descripcion, prenda.precioServicio, prenda.idPrenda), BdComun.ObtenerConexion());

            retorno = comando.ExecuteNonQuery();
            return(retorno);
        }
예제 #14
0
        public static int Agregar(Prenda prenda)
        {
            int          retorno = 0;
            MySqlCommand comando = new MySqlCommand(string.Format("Insert into Prenda (NombrePrenda, DescripcionPrenda, precioServicio) values ('{0}','{1}','{2}')",
                                                                  prenda.NombrePrenda, prenda.Descripcion, prenda.precioServicio), BdComun.ObtenerConexion());

            retorno = comando.ExecuteNonQuery();
            return(retorno);
        }
예제 #15
0
        public bool delete(Prenda prenda)
        {
            string strSql = "UPDATE Prenda " +
                            "SET borrado=1" +
                            " WHERE codPrenda= " + prenda.CodPrenda;

            oBD.actualizar(strSql);
            return(true);
        }
예제 #16
0
        private bool AgregarCorteCompleto(Prenda prenda)
        {
            bool resul = false;

            try
            {
                string message =
                    "Desea agregar el corte?";
                const string caption = "Form Closing";
                var          result  = MessageBox.Show(message, caption,
                                                       MessageBoxButtons.YesNo,
                                                       MessageBoxIcon.Exclamation);

                // If the no button was pressed ...
                if (result == DialogResult.Yes)
                {
                    int total = 0;
                    foreach (Detalle item in _detallesPrenda)
                    {
                        total += item.Cantidad;
                    }
                    //agregar prenda

                    PrendaBL blp = new PrendaBL();

                    short IdPrenda = blp.AgregarActualizarPreda(prenda);

                    for (int i = 0; i < _detallesPrenda.Count; i++)
                    {
                        _detallesPrenda[i].IdPrenda = IdPrenda;

                        detallesPrendaBL bld = new detallesPrendaBL();
                        if (bld.AgregarActualizarDetallePrenda(_detallesPrenda[i]))
                        {
                        }
                    }

                    corteBL blc = new corteBL();
                    _corte.IdPrenda = IdPrenda;
                    return(blc.AgregarActualizarCorte(_corte));
                }
                else
                {
                    _corte          = null;
                    _detallesPrenda = null;
                    _prenda         = null;
                    return(false);
                }
            }
            catch (Exception ex)
            {
                resul = false;
            }

            return(resul);
        }
예제 #17
0
        private void btn_ModificarPrenda_Click(object sender, EventArgs e)
        {
            Prenda prenda = dgv_Prendas.SelectedRows[0].DataBoundItem as Prenda;

            prenda.Descripcion = txt_Descripcion.Text;
            prenda.Cantidad    = int.Parse(txt_Cantidad.Text);
            prenda.Talle       = txt_Talle.Text;
            controller.ModificarPrenda(prenda);
            dgv_Prendas.DataSource = null;
            dgv_Prendas.DataSource = controller.GetListPrenda();
        }
예제 #18
0
 public void AgregarPrenda(int idGuardarropa, Guardarropa guardarropa, Prenda prenda, IGuardarropaRepositorio guardarropaRepo)
 {
     if (guardarropa.Prendas.Count < guardarropa.PrendasMaximas)
     {
         guardarropaRepo.AgregarPrenda(idGuardarropa, prenda);
     }
     else
     {
         throw new InvalidOperationException("El guardarropa esta lleno");
     }
 }
예제 #19
0
        public void CrearPrenda(Prenda prenda, DB context, int idGuardarropa)
        {
            context.prendas.Add(prenda);
            context.SaveChanges();
            guardarropaXprendaRepository gpr = new guardarropaXprendaRepository();

            gpr.id_guardarropa = idGuardarropa;
            gpr.id_prenda      = prenda.id_prenda;
            context.guardarropaXprendaRepositories.Add(gpr);
            context.SaveChanges();
        }
예제 #20
0
 public void UpdatePrenda(Prenda prenda)
 {
     try
     {
         var entidad = PrendaMapper.MapEntity(prenda);
         dbContext.Prendas.Update(entidad);
         dbContext.SaveChanges();
     }catch (Exception e)
     {
         throw e;
     }
 }
예제 #21
0
        public short AgregarePrenda(Prenda prenda)
        {
            short resul = 0;

            using (AlmacenEntities context = new AlmacenEntities())
            {
                context.Prendas.Add(prenda);
                context.SaveChanges();
                resul = prenda.Id;
            }
            return(resul);
        }
예제 #22
0
        public bool EliminarPrenda(short id)
        {
            bool resul = false;

            using (AlmacenEntities context = new AlmacenEntities())
            {
                Prenda prenda = context.Prendas.Where(e => e.Id == id).FirstOrDefault();
                context.Prendas.Remove(prenda);
                context.SaveChanges();
                resul = true;
            }
            return(resul);
        }
예제 #23
0
        //get
        public ActionResult Calcular()
        {
            var    UserId = User.Identity.GetUserId();
            Prenda prenda = new Prenda();

            prenda.UserId = UserId;

            ViewBag.TipoId   = new SelectList(db.Tipoes, "Id", "Categoria");
            ViewBag.AvioId   = new SelectList(db.Avios, "Id", "Nombre");
            ViewBag.PrendaId = new SelectList(db.Prendas, "Id", "UserId");
            ViewBag.TelaId   = new SelectList(db.Telas, "Id", "Nombre");
            return(View(prenda));
        }
예제 #24
0
        public static int Modificar(Prenda prenda)
        {
            ConexBD cnx = new ConexBD();

            cnx.Conectar();
            int          retorno = 0;
            MySqlCommand comando = new MySqlCommand(string.Format("UPDATE Prenda Set nombrePrenda='{0}',descripcionPrenda='{1}',precioServicio='{2}',tipoPrenda='{3}',tipo_oferta='{4}' where idPrenda='{5}'"
                                                                  , prenda.NombrePrenda, prenda.Descripcion, prenda.precioServicio, prenda.tipoPrenda, prenda.tipo_oferta, prenda.idPrenda), cnx.ObtenerConexion());

            retorno = comando.ExecuteNonQuery();
            comando.Connection.Close();
            cnx.cerrarConexion();
            return(retorno);
        }
예제 #25
0
        public static int Agregar(Prenda prenda)
        {
            int     retorno = 0;
            ConexBD cnx     = new ConexBD();

            cnx.Conectar();
            MySqlCommand comando = new MySqlCommand(string.Format("Insert into Prenda (NombrePrenda, DescripcionPrenda, precioServicio,tipoPrenda,tipo_oferta) values ('{0}','{1}',{2},'{3}','{4}')",
                                                                  prenda.NombrePrenda, prenda.Descripcion, prenda.precioServicio, prenda.tipoPrenda, prenda.tipo_oferta), cnx.ObtenerConexion());

            retorno = comando.ExecuteNonQuery();
            comando.Connection.Close();
            cnx.cerrarConexion();
            return(retorno);
        }
예제 #26
0
        private void btn_Confeccionar_Click(object sender, EventArgs e)
        {
            Prenda prenda         = dgv_Prendas.SelectedRows[0].DataBoundItem as Prenda;
            int    cantidadPrenda = int.Parse(Interaction.InputBox("Ingrese la cantidad de prendas a confeccionar."));
            string codigoPrenda   = Interaction.InputBox("Ingrese el código que tendrán las prendas resultantes.");

            controller.Confeccionar(prenda, cantidadPrenda, codigoPrenda);
            PrendaGestor prendaGestor = new PrendaGestor();

            dgv_Prendas.DataSource = null;
            dgv_Prendas.DataSource = prendaGestor.GetListPrendaSinConfeccionar();
            dgv_PrendasConfeccionadas.DataSource = null;
            dgv_PrendasConfeccionadas.DataSource = prendaGestor.GetListPrendaConfeccionada();
        }
예제 #27
0
        // GET: Prendas/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Prenda prenda = db.Prendas.Find(id);

            if (prenda == null)
            {
                return(HttpNotFound());
            }
            return(View(prenda));
        }
예제 #28
0
        // agregar imagenes
        #region public void CreateImagen(HttpPostedFileBase Imagen)
        public string CrearImagen(HttpPostedFileBase Imagen, Prenda prenda)
        {
            var fileName = Path.GetFileName(prenda.Id.ToString());
            var path     = Server.MapPath("~/Content/imgprenda/imgori/" + prenda.Id);

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            string outputPath = Path.Combine(path, prenda.Id + ".png");

            Imagen.SaveAs(outputPath);
            return(fileName);
        }
예제 #29
0
        public bool actualizarPrenda(Prenda prenda)
        {
            string strSql = "UPDATE Prenda" +
                            " SET tipoPrenda=" + prenda.TipoPrenda.Codigo +
                            ", talle='" + prenda.Talle + "'" +
                            ", descripcion='" + prenda.Descripcion + "'" +
                            ", precio=" + prenda.Precio +
                            ", cantidad=" + prenda.Cantidad +
                            ", marca=" + prenda.Marca.IdMarca +
                            ", borrado=0" +
                            "WHERE codPrenda= " + (int)prenda.CodPrenda;

            return(DBHelper.GetDBHelper().EjecutarSQL(strSql) == 1);
        }
예제 #30
0
 private void btnBorrarPrenda_Click(object sender, EventArgs e)
 {
     try
     {
         Prenda prenda = db.Prendas.Find(int.Parse(dvgRopa.SelectedRows[0].Cells[0].Value.ToString()));
         db.Prendas.Remove(prenda);
         db.SaveChanges();
         MessageBox.Show("Prenda Borrada");
         dvgRopa.DataSource = db.Prendas.Select(x => new { x.PrendaId, x.TipoRopa, x.piezas, x.NumeroPrenda }).ToList();
     }
     catch (Exception)
     {
         MessageBox.Show("No Puede Borrar esta Prenda porque tiene datos Asociados");
     }
 }