//public string tipoCompra { set; get; }

        public ReportSolicitudDeCotizacion(solicitudDeCotizacion solicitudDeCotizacion, detalleSolicitudDeCotizacion detalleSolicitudDeCotizacion) { 
        
            this.solicitudDeCotizacionID =solicitudDeCotizacion.solicitudDeCotizacionID;
            this.numeroSolicitudDeCotizacion =solicitudDeCotizacion.numeroSolicitudDeCotizacion;            
            this.numeroEdicion  = solicitudDeCotizacion.numeroEdicion;
            this.codigoNumero = solicitudDeCotizacion.codigoNumero;
            this.fecha = formatearString.fechaPalabras(solicitudDeCotizacion.fecha);
            this.proveedor = solicitudDeCotizacion.proveedor;
            this.emitidoPor = solicitudDeCotizacion.emitidoPor;
            this.escritoPor = solicitudDeCotizacion.escritoPor;
            this.escritoPorCargo = solicitudDeCotizacion.escritoPorCargo;
            
            this.numeroItem = detalleSolicitudDeCotizacion.numeroItem;
            this.descripcionItem  = detalleSolicitudDeCotizacion.descripcionItem;
            this.codigoProducto = detalleSolicitudDeCotizacion.codigoProducto;
            this.cantidad  = detalleSolicitudDeCotizacion.cantidad;
           
            this.lugarDeFaena = detalleSolicitudDeCotizacion.lugarDeFaena;
            //this.tipoCompra = detalleSolicitudDeCotizacion.tipoCompra;

            if (detalleSolicitudDeCotizacion.tipoCompra.Equals("DIRECTA"))
            {
                int codigo =Convert.ToInt32(detalleSolicitudDeCotizacion.codigoInterno);
                this.codigoInterno = equipos.Obtener(codigo).numeroAFI;
            }
            else {
                this.codigoInterno = detalleSolicitudDeCotizacion.codigoInterno;
            }
            

        }
        //public string tipoCompra { set; get; }

        public ReportSolicitudDeCotizacion(solicitudDeCotizacion solicitudDeCotizacion, detalleSolicitudDeCotizacion detalleSolicitudDeCotizacion)
        {
            this.solicitudDeCotizacionID     = solicitudDeCotizacion.solicitudDeCotizacionID;
            this.numeroSolicitudDeCotizacion = solicitudDeCotizacion.numeroSolicitudDeCotizacion;
            this.numeroEdicion   = solicitudDeCotizacion.numeroEdicion;
            this.codigoNumero    = solicitudDeCotizacion.codigoNumero;
            this.fecha           = formatearString.fechaPalabras(solicitudDeCotizacion.fecha);
            this.proveedor       = solicitudDeCotizacion.proveedor;
            this.emitidoPor      = solicitudDeCotizacion.emitidoPor;
            this.escritoPor      = solicitudDeCotizacion.escritoPor;
            this.escritoPorCargo = solicitudDeCotizacion.escritoPorCargo;

            this.numeroItem      = detalleSolicitudDeCotizacion.numeroItem;
            this.descripcionItem = detalleSolicitudDeCotizacion.descripcionItem;
            this.codigoProducto  = detalleSolicitudDeCotizacion.codigoProducto;
            this.cantidad        = detalleSolicitudDeCotizacion.cantidad;

            this.lugarDeFaena = detalleSolicitudDeCotizacion.lugarDeFaena;
            //this.tipoCompra = detalleSolicitudDeCotizacion.tipoCompra;

            if (detalleSolicitudDeCotizacion.tipoCompra.Equals("DIRECTA"))
            {
                int codigo = Convert.ToInt32(detalleSolicitudDeCotizacion.codigoInterno);
                this.codigoInterno = equipos.Obtener(codigo).numeroAFI;
            }
            else
            {
                this.codigoInterno = detalleSolicitudDeCotizacion.codigoInterno;
            }
        }
        public ActionResult Create([Bind(Include = "solicitudDeCotizacionID,numeroSolicitudDeCotizacion,fecha,proveedor,emitidoPor,escritoPor,escritoPorCargo")] solicitudDeCotizacion solicitudDeCotizacion, FormCollection form)
        {

            if (Session["ID"] == null || !roles.tienePermiso(5, int.Parse(Session["ID"].ToString())))
            {
                return RedirectToAction("Index", "Home");
            }

            solicitudDeCotizacion.fecha = Formateador.fechaFormatoGuardar(form["fecha"].ToString());
            int solicitudDeCotizacionID = solicitudDeCotizacion.solicitudDeCotizacionID;

            
            string[] descripcionProducto = Request.Form.GetValues("descripcionProducto");
            string[] productos = Request.Form.GetValues("productos");
            string[] cantidad = Request.Form.GetValues("cantidad");
            string[] codigoInternoRentamaq = Request.Form.GetValues("codigoInternoRentamaq");
            string[] lugarDeFaena = Request.Form.GetValues("lugarDeFaena");
            string[] tipoCompra = Request.Form.GetValues("tipoCompra");


            for (int i = 0; i < descripcionProducto.Length; i++)
            {
                detalleSolicitudDeCotizacion detalle = new detalleSolicitudDeCotizacion();

                detalle.cantidad = Convert.ToDouble(cantidad[i]);
                detalle.codigoInterno = codigoInternoRentamaq[i];
                detalle.codigoProducto = productos[i];
                detalle.descripcionItem = descripcionProducto[i];
                detalle.solicitudDeCotizacionID = solicitudDeCotizacionID;
                detalle.lugarDeFaena = lugarDeFaena[i];
                detalle.tipoCompra = tipoCompra[i];
                detalle.numeroItem = i + 1;

                db.detalleSolicitudDeCotizaciones.Add(detalle);

            }
            db.solicitudesDeCotizaciones.Add(solicitudDeCotizacion);


            string IPED=(string)form["idPedido"];
            if (!IPED.Equals(""))
            {
                //"EN COTIZACION";
                int idPedido = Convert.ToInt32(IPED);
                pedidos pedidos = db.pedidos.Find(idPedido);                
                pedidos.estado = "EN COTIZACION";
                db.Entry(pedidos).State = EntityState.Modified;
            }


            registro Registro = new registro();
            Registro.fecha = DateTime.Now;
            Registro.tipoAccion = "Crear";
            Registro.tipoDato = "solicitudDeCotizacion";
            Registro.usuario = db.Usuarios.Find(int.Parse(Session["ID"].ToString())).nombreUsuario + " / " + db.Usuarios.Find(int.Parse(Session["ID"].ToString())).nombreCompleto;
            Registro.usuarioID = int.Parse(Session["ID"].ToString());
            Registro.descripcion = Registro.usuario + " Crea nueva Solicitud de Cotizacion " + solicitudDeCotizacion.numeroSolicitudDeCotizacion;
            db.Registros.Add(Registro);

            db.SaveChanges();
            return RedirectToAction("Index");
        }
        public ActionResult Create([Bind(Include = "solicitudDeCotizacionID,numeroSolicitudDeCotizacion,fecha,proveedor,emitidoPor,escritoPor,escritoPorCargo")] solicitudDeCotizacion solicitudDeCotizacion, FormCollection form)
        {

            if (Session["ID"] == null || !roles.tienePermiso(5, int.Parse(Session["ID"].ToString())))
            {
                return RedirectToAction("Index", "Home");
            }

            solicitudDeCotizacion.fecha = Formateador.fechaFormatoGuardar(form["fecha"].ToString());
            int solicitudDeCotizacionID = solicitudDeCotizacion.solicitudDeCotizacionID;

            string[] descripcionProducto = Request.Form.GetValues("descripcionProducto");
            string[] productos = Request.Form.GetValues("productos");
            string[] cantidad = Request.Form.GetValues("cantidad");
            string[] codigoInternoRentamaq = Request.Form.GetValues("codigoInternoRentamaq");
            string[] lugarDeFaena = Request.Form.GetValues("lugarDeFaena");
            string[] tipoCompra = Request.Form.GetValues("tipoCompra");


            for (int i = 0; i < descripcionProducto.Length; i++)
            {
                detalleSolicitudDeCotizacion detalle = new detalleSolicitudDeCotizacion();

                detalle.cantidad = Convert.ToDouble(cantidad[i]);
                detalle.codigoInterno = codigoInternoRentamaq[i];
                detalle.codigoProducto = productos[i];
                detalle.descripcionItem = descripcionProducto[i];
                detalle.solicitudDeCotizacionID = solicitudDeCotizacionID;
                detalle.lugarDeFaena = lugarDeFaena[i];
                detalle.tipoCompra = tipoCompra[i];
                detalle.numeroItem = i + 1;

                db.detalleSolicitudDeCotizaciones.Add(detalle);

            }
            db.solicitudesDeCotizaciones.Add(solicitudDeCotizacion);
            db.SaveChanges();
            return RedirectToAction("Index");
        }