public ActionResult Register(CoberturaModel coberturaModel)
		{
			if (ModelState.IsValid)
			{
				Cobertura Cobertura = coberturaModel.ObtenerEntidad();
				Cobertura.UsuarioRegistra = new Usuario() { Id = Convert.ToInt32(User.Identity.Name) };
				Cobertura.FechaRegistro = DateTime.Now;

				CoberturaNegocio.Insertar(Cobertura);
                return RedirectToRoute("Cobertura", new { action = "Search" });
			}

			return View(coberturaModel);
		}
		public ActionResult Search(CoberturaModel coberturaModel)
		{
            IEnumerable<Cobertura> ListadoCobertura = CoberturaNegocio.BuscarTodos();

            if (coberturaModel.CiaSegId > 0)
            {
                ListadoCobertura = ListadoCobertura.Where(item => item.CiaSeg.Id == coberturaModel.CiaSegId);
            }

            if (!String.IsNullOrEmpty(coberturaModel.Estado))
            {
                ListadoCobertura = ListadoCobertura.Where(item => item.Estado == coberturaModel.Estado);
            }

            ViewBag.ListadoCobertura = ListadoCobertura;
			return View(coberturaModel);
		}
        public ActionResult Actualizar(int id, CoberturaModel coberturaModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Cobertura Cobertura = CoberturaNegocio.BuscarPorId(id);
                    Cobertura.Nombre = coberturaModel.Nombre;
                    Cobertura.Abreviatura = coberturaModel.Abreviatura;
                    Cobertura.Estado = coberturaModel.Estado;
                    ViewBag.Cobertura = CoberturaNegocio.Actualizar(Cobertura);
                }
                catch (Exception ex)
                {
                    ViewBag.Exception = ex.Message;
                }
            }

            return View();
        }
        public ActionResult Consultar(CoberturaModel coberturaModel)
        {
            if (coberturaModel.CiaSegId == 0)
            {
                ModelState.AddModelError("CiaSegId", "Seleccione una Compañía de Seguros.");
            }
            else
            {
                coberturaModel.Nombre = (!String.IsNullOrEmpty(coberturaModel.Nombre)) ? coberturaModel.Nombre : String.Empty;
                coberturaModel.Estado = (!String.IsNullOrEmpty(coberturaModel.Estado)) ? coberturaModel.Estado : String.Empty;

                if (coberturaModel.CiaSegId != 0)
                {
                    ViewBag.ListadoCobertura = CoberturaNegocio.BuscarTodos().Where(item => item.CiaSeg.Id == coberturaModel.CiaSegId && item.Estado.ToLower().Contains(coberturaModel.Estado.ToLower()));
                }
                else
                {
                    ViewBag.ListadoCobertura = CoberturaNegocio.BuscarTodos().Where(item => item.Estado.ToLower().Contains(coberturaModel.Estado.ToLower()));
                }
            }

            return View(coberturaModel);
        }
		public ActionResult Edit(int id, CoberturaModel coberturaModel)
		{
			if (ModelState.IsValid)
			{
				Cobertura Cobertura = CoberturaNegocio.BuscarPorId(id);
				Cobertura.CiaSeg.Id = coberturaModel.CiaSegId;
				Cobertura.Nombre = coberturaModel.Nombre;
				Cobertura.Abreviatura = coberturaModel.Abreviatura;
				Cobertura.Estado = coberturaModel.Estado;

				CoberturaNegocio.Actualizar(Cobertura);
                return RedirectToRoute("Cobertura", new { action = "Search" });
			}

			return View(coberturaModel);
		}
        public ActionResult Registrar(CoberturaModel coberturaModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    Cobertura Cobertura = new Cobertura()
                    {
                        CiaSeg = new CiaSeg() { Id = coberturaModel.CiaSegId },
                        Nombre = coberturaModel.Nombre,
                        Abreviatura = coberturaModel.Abreviatura,
                        Estado = coberturaModel.Estado,
                        UsuarioRegistro = new Usuario() { Id = Convert.ToInt32(User.Identity.Name) },
                        FechaRegistro = DateTime.Now
                    };

                    ViewBag.Cobertura = CoberturaNegocio.Insertar(Cobertura);
                }
                catch (Exception ex)
                {
                    ViewBag.Exception = ex.Message;
                }
            }

            return View(coberturaModel);
        }