示例#1
0
        public static Contrato getDetalleContrato(int idContrato)
        {
            Contrato res = null;
            DateTime t;
            NpgsqlDataReaderWithConection lector = null;
            try
            {
                lector = DBConector.SELECT("SELECT contrato.id_contrato, nombre_cliente, breve_descripcion, fecha_inicio_contrato, fecha_caducidad_contrato, rut_cliente FROM contrato NATURAL JOIN cliente WHERE id_contrato=" + idContrato);

                while (lector.Read())
                {
                    res = new Contrato();
                    res.id_contrato = lector["id_contrato"];
                    res.nombreCliente = lector["nombre_cliente"];

                    res.breve_descripcion = lector["breve_descripcion"];
                    t = lector.GetDateTime(3);
                    res.dia_ini_contrato = t.Day.ToString();
                    res.mes_ini_contrato = t.Month.ToString();
                    res.agno_ini_contrato = t.Year.ToString();

                    if (lector.IsDBNull(4))
                    {
                        res.tieneTermino = "false";
                    }
                    else
                    {
                        res.tieneTermino = "true";
                        t = lector.GetDateTime(4);
                        res.dia_caducidad_contrato = t.Day.ToString();
                        res.mes_caducidad_contrato = t.Month.ToString();
                        res.agno_caducidad_contrato = t.Year.ToString();
                    }

                }
            }
            catch (Exception)
            {
            }
            if (lector != null)
            {
                lector.CloseTodo();
            }
            return res;
        }
示例#2
0
        public ActionResult agregarContrato(Contrato nvoContrato, string nombre_cliente, string btn_cargar, string btn_agregarServicio, string precioPorContrato, string condicion_servicio, string btn_agregarContrato, string tieneTermino_contrato)
        {
            ViewBag.listaPerfiles = perfilTrabajadorModel.getListaPerfilesTrabajadores();
            ViewBag.listaDias = getListaDias();
            ViewBag.listaMeses = getListaMeses();
            ViewBag.listaServicios = Contrato.getAllServicios();
            int idServicio = 0;
            if (Int32.TryParse(nvoContrato.servicioSeleccionado, out idServicio))
            {
                //ViewBag.selectedServicio = idServicio.ToString();
                if (idServicio > 0)
                {
                    ViewBag.precioReferencia = Contrato.getPrecioServicio(idServicio).ToString();
                }
                else
                    ViewBag.precioReferencia = "0";
            }
            else
            {
                ViewBag.precioReferencia = "0";
            }

            if (btn_cargar != null)
            {

                ViewBag.listaServiciosAgregados = Session["listaServicios"];

                if (btn_cargar.Equals("Cargar")) //Se esta cargando un cliente
                {
                    if (ModelState.IsValidField("rutCliente"))
                    {
                        int rut = 0;
                        bool satisf = false;
                        if (!Int32.TryParse(nvoContrato.rutCliente, out rut)) {
                            ModelState.Clear();
                            ModelState.AddModelError("rutCliente", "El rut ingresado no es válido");
                            ViewBag.nombreCliente = "";
                        }
                        else {
                            ViewBag.nombreCliente = Contrato.getNombreCliente(rut, out satisf);
                            if (!satisf)
                            {
                                ModelState.Clear();
                                ModelState.AddModelError("rutCliente", "El rut insertado no existe");
                            }
                        }
                    }
                    else
                    {
                        string mensaje = "El rut ingresado no es válido";
                        ModelState.Clear();
                        ModelState.AddModelError("rutCliente", mensaje);
                    }

                }
            }
            else if (btn_agregarServicio != null)
            {
                ModelState.Clear();

                int enteroTemp = 0;
                if (!Int32.TryParse(nvoContrato.servicioSeleccionado, out enteroTemp))
                {
                    string mensaje = "El servicio seleccionado no es válido";
                    ModelState.AddModelError("servicioSeleccionado", mensaje);
                }
                else if (enteroTemp < 0)
                {
                    string mensaje = "El servicio seleccionado no es válido";
                    ModelState.AddModelError("servicioSeleccionado", mensaje);

                }
                else if (!Int32.TryParse(precioPorContrato, out enteroTemp))
                {
                    string mensaje = "El precio del servicio no es válido";
                    ModelState.AddModelError("precioPorContrato", mensaje);
                }
                else if (enteroTemp < 0)
                {
                    string mensaje = "El precio del servicio no es válido";
                    ModelState.AddModelError("precioPorContrato", mensaje);
                }
                else
                {

                    List<ServicioListado> listaTemp = null;
                    if (Session["listaServicios"] == null)
                    {
                        listaTemp = new List<ServicioListado>();
                        Session["listaServicios"] = listaTemp;
                    }
                    else
                    {
                        listaTemp = (List<ServicioListado>)Session["listaServicios"];
                    }

                    idServicio = 0;
                    if (Int32.TryParse(nvoContrato.servicioSeleccionado, out idServicio))
                    {
                        //ViewBag.selectedServicio = idServicio.ToString();
                        ViewBag.precioReferencia = Contrato.getPrecioServicio(idServicio).ToString();

                    }
                    else
                    {
                        ViewBag.precioReferencia = "0";
                    }

                    ServicioListado servicioNvo = new ServicioListado();
                    servicioNvo.descripcion = condicion_servicio;
                    int idServicioSeleccionado = 0;
                    Int32.TryParse(nvoContrato.servicioSeleccionado, out idServicioSeleccionado);
                    servicioNvo.nombre_servicio = ServicioListado.getNombreServicio(idServicioSeleccionado);
                    servicioNvo.precio_acordado = precioPorContrato;
                    servicioNvo.id_servicio = nvoContrato.servicioSeleccionado;
                    bool esta = false;
                    foreach (ServicioListado servTemp in listaTemp)
                    {
                        if (servTemp.id_servicio.Equals(servicioNvo.id_servicio)) {
                            esta = true;
                        }
                    }
                    if (esta)
                    {
                        ModelState.AddModelError("servicioSeleccionado", "El servicio seleccionado ya estaba agregado");
                    }
                    else
                    {
                        listaTemp.Add(servicioNvo);
                    }
                    ViewBag.listaServiciosAgregados = listaTemp;
                }
            }
            else if (btn_agregarContrato != null) //Agrego el contrato
            {
                if (ModelState.IsValidField("rutCliente"))
                {
                    int rut = 0;
                    bool satisf = false;
                    if (!Int32.TryParse(nvoContrato.rutCliente, out rut))
                    {
                        ModelState.Clear();
                        ModelState.AddModelError("rutCliente", "El rut ingresado no es válido");
                        ViewBag.nombreCliente = "";
                    }
                    else
                    {
                        ViewBag.nombreCliente = Contrato.getNombreCliente(rut, out satisf);
                        if (!satisf)
                        {
                            ModelState.Clear();
                            ModelState.AddModelError("rutCliente", "El rut insertado no existe");
                        }
                        else
                        {
                            List<ServicioListado> listaTemp;
                            if (Session["listaServicios"] == null)
                            {
                                ViewBag.respuestaPost = "No posee una lista de servicios para el nuevo contrato";

                            }
                            else if (((List<ServicioListado>)Session["listaServicios"]).Count == 0)
                            {
                                ViewBag.respuestaPost = "Posee una lista de servicios para el nuevo contrato vacia";

                            }
                            else
                            {
                                listaTemp = (List<ServicioListado>)Session["listaServicios"];

                                //ahora compruebo las fechas de contrato
                                int agnoInt = 0;
                                if (Int32.TryParse(nvoContrato.agno_ini_contrato, out agnoInt))
                                {
                                    if ((agnoInt >= 1900) && (agnoInt <= 2100))
                                    {
                                        string fecha_ini = nvoContrato.dia_ini_contrato + "-" + nvoContrato.mes_ini_contrato + "-" + nvoContrato.agno_ini_contrato;
                                        string fecha_fin = null;
                                        //Camino CORRECTO HASTA AHORA
                                        if (tieneTermino_contrato.Contains("true"))
                                        {
                                            //Camino correcto, tomo en cuenta la fecha de fin del contrato
                                            fecha_fin = nvoContrato.dia_caducidad_contrato + "-" + nvoContrato.mes_caducidad_contrato + "-" + nvoContrato.agno_caducidad_contrato;
                                        }
                                        else
                                        {
                                            //Camino correcto, no tomo en cuenta la fecha de fin de contrato
                                        }
                                        ViewBag.respuestaPost = "Se ha creado el contrato";
                                        if (Contrato.insertContrato(rut, fecha_ini, fecha_fin, nvoContrato.breve_descripcion, listaTemp) <= 0)
                                        {
                                            ViewBag.respuestaPost = "No se ha podido realizar la creación del contrato";
                                        }

                                        //CAMINO FELIZ
                                        return RedirectToAction("Index", "home");

                                    }
                                    else
                                    {
                                        ModelState.AddModelError("agno_ini_contrato", "El año de inicio de contrato no está en el rango");

                                    }
                                }
                                else
                                {
                                    ModelState.AddModelError("agno_ini_contrato", "El año de inicio de contrato no es válido");
                                }
                            }
                        }
                    }
                }
                else
                {
                    string mensaje = "El rut ingresado no es válido";
                    ModelState.Clear();
                    ModelState.AddModelError("rutCliente", mensaje);
                }

                List<ServicioListado> listaTemp2 = null;
                if (Session["listaServicios"] == null)
                {
                    listaTemp2 = new List<ServicioListado>();
                    Session["listaServicios"] = listaTemp2;
                }
                else
                {
                    listaTemp2 = (List<ServicioListado>)Session["listaServicios"];
                }
                ViewBag.listaServiciosAgregados = listaTemp2;
            }
            else
            {
                //Verifico si es un botón "quitar"
                NameValueCollection col = Request.Params;
                int idServ = 0;
                string nombreParam = "", idServStr;
                for (int i = 0; i < Request.Params.Count; i++)
                {

                    nombreParam = col.GetKey(i); //Con esto accedo al nombre del parámetro
                    if (nombreParam.Contains("quitar_")) //Con esto omito los parámetros que no me importan
                    {
                        if (Session["listaServicios"] != null)
                        {

                            idServStr = nombreParam.Substring("quitar_".Length);
                            if (Int32.TryParse(idServStr, out idServ))
                            {
                                List<ServicioListado> listaTemp = (List<ServicioListado>)Session["listaServicios"];
                                bool encontrado = false;
                                int posicion = 0;
                                foreach (ServicioListado temp in listaTemp)
                                {
                                    if (temp.id_servicio.Equals(idServStr))
                                    {
                                        encontrado = true;
                                        break;
                                    }
                                    posicion++;
                                }

                                if (encontrado)
                                {
                                    listaTemp.RemoveAt(posicion);
                                    ViewBag.respuestaPost = "Se ha quitado el servicio de la lista de servicios para el contrato";
                                }
                                else
                                {
                                    ViewBag.respuestaPost = "El servicio no estaba agregado a la lista de servicios para el contrato";
                                }
                            }
                        }
                    }
                }

                ViewBag.listaServiciosAgregados = Session["listaServicios"];

                ModelState.Clear();
                idServicio = 0;
                if (Int32.TryParse(nvoContrato.servicioSeleccionado, out idServicio))
                {
                    //ViewBag.selectedServicio = idServicio.ToString();
                    ViewBag.precioReferencia = Contrato.getPrecioServicio(idServicio).ToString();
                }
                else
                {
                    ViewBag.precioReferencia = "0";
                }

                return View(nvoContrato);
            }
            return View(nvoContrato);
        }
示例#3
0
        public ActionResult Contratos(Contrato contrato)
        {
            ModelState.Clear();
            int idContrato = -1;
            if (!Int32.TryParse(contrato.id_contrato, out idContrato))
            {
                ModelState.AddModelError("id_contrato", "N° de contrato no válido");
            }
            ViewBag.listaContratos = Contrato.getAllContratos();
            ViewBag.contratoDetallado = Contrato.getDetalleContrato(idContrato);
            ViewBag.serviciosDelContrato = Contrato.getServiciosDelContrato(idContrato);

            return View(contrato);
        }
示例#4
0
        public static List<Contrato> getContratosSegunCliente(int id_cliente)
        {
            List<Contrato> items = new List<Contrato>();
            NpgsqlDataReaderWithConection contratos = null;
            Contrato temp;
            try
            {
                contratos = DBConector.SELECT("SELECT id_contrato, breve_descripcion FROM contrato WHERE fecha_inicio_contrato < '" + DateTime.Now + "' AND (fecha_caducidad_contrato > '" + DateTime.Now + "' OR fecha_caducidad_contrato IS NULL) AND id_cliente = " + id_cliente);

                while (contratos.Read())
                {
                    temp = new Contrato();
                    temp.breve_descripcion = contratos["breve_descripcion"];
                    temp.id_contrato = contratos["id_contrato"];
                    items.Add(temp);
                }
            }
            catch (Exception)
            {
            }
            if (contratos != null)
            {
                contratos.CloseTodo();
            }
            return items;
        }