public ActionResult New()
        {
            ViewData["titulo"] = "Nuevo";
            ViewData["menu"]   = "pdcs.new";


            var item = new TBL_PUNTODECONTROL();

            item.ID = MyController._HACKID_;

            CreateCombo2(item);
            return(View(item));
        }
        public ActionResult Create(TBL_PUNTODECONTROL item)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    FlashError("Revise los campos con error");
                    CreateCombo2(item);
                    return(View("New", item));
                }

                if (item.ID == MyController._HACKID_)
                {
                    item.ID = 0;
                    context.TBL_PUNTODECONTROL.AddObject(item);
                    FlashOK("Se agrego punto de control");
                }
                else
                {
                    var updatedItem = context.TBL_PUNTODECONTROL.Where(c => c.ID == item.ID).SingleOrDefault();
                    updatedItem.SimpleCopyFrom(item, new string[] { "ID", "ZONA_ID", "RIOS_CANALES_KM_ID", "USO" });

                    FlashOK("Se edito el punto de control");
                }


                context.SaveChanges();

                //HACK- Cambiar cuando el connector de Oracle funcione bien
                var nuevoitem = context.TBL_PUNTODECONTROL.OrderByDescending(c => c.ID).First();
                //HACK----------------------------------------------------------------------------

                CreateCombo2(item);
                return(Edit(nuevoitem.ID));
            }
            catch (Exception ex)
            {
                FlashError("Error: " + ex.Message + "\nInner: " + ex.InnerException.Message);
                CreateCombo2(item);
                return(View("New", item));
            }
        }
        private void CreateCombo2(TBL_PUNTODECONTROL item)
        {
            ViewData["ZONA_ID"] = new SelectList(context.TBL_ZONAS, "ID", "DESCRIPCION", item.ZONA_ID);

            var           rioscanales = context.RIOS_CANALES_KM.OrderBy(r => r.ID);
            List <object> newList     = new List <object>();

            foreach (var riocanal in rioscanales)
            {
                newList.Add(new
                {
                    id     = riocanal.ID,
                    nombre = riocanal.RIOS_CANALES.NOMBRE + "  " + riocanal.UNIDAD + " " + riocanal.KM
                });
            }
            this.ViewData["Members"] = new SelectList(newList, "Id", "Name");


            ViewData["RIOS_CANALES_KM_ID"] = new SelectList(newList, "id", "nombre", item.RIOS_CANALES_KM_ID);
        }