public ActionResult DeleteInsmos(int NewId, int ListId)
        {
            UsuarioTO usuarioTO = Cache.DiccionarioUsuariosLogueados[User.Identity.Name];
            Pt_Tmp_Cotizacion_Fase_Insumos_New tmpNewInsumo   = db.Pt_Tmp_Cotizacion_Fase_Insumos_New.Find(NewId);
            Pt_Tmp_Cotizacion_Fase_Insumos     tmpListInsumos = db.Pt_Tmp_Cotizacion_Fase_Insumos.Find(ListId);

            if (tmpNewInsumo != null)
            {
                tmpNewInsumo.activo = false;
                tmpNewInsumo.id_usuario_eliminacion = usuarioTO.usuario.id_usuario;
                tmpNewInsumo.fecha_eliminacion      = DateTime.Now;
                tmpNewInsumo.eliminado       = true;
                db.Entry(tmpNewInsumo).State = EntityState.Modified;
                db.SaveChanges();
                var id = tmpNewInsumo.ctpfin_cfas_id;
                return(RedirectToAction("Create/" + id));
            }
            if (tmpListInsumos != null)
            {
                tmpListInsumos.activo = false;
                tmpListInsumos.id_usuario_eliminacion = usuarioTO.usuario.id_usuario;
                tmpListInsumos.fecha_eliminacion      = DateTime.Now;
                tmpListInsumos.eliminado       = true;
                db.Entry(tmpListInsumos).State = EntityState.Modified;
                db.SaveChanges();
                var id = tmpListInsumos.ctpfi_cfas_id;
                return(RedirectToAction("Create/" + id));
            }
            return(View());
        }
        public ActionResult CreateInsumosGenerales(Pt_Tmp_Cotizacion_Fase_Insumos tmp_Cot_Fase_Insumo)
        {
            Pt_Tmp_Cotizacion_Fase_Insumos tmp = db.Pt_Tmp_Cotizacion_Fase_Insumos.Where(t => t.ctpfi_cfas_id == tmp_Cot_Fase_Insumo.ctpfi_cfas_id && t.ctpfi_cins_id == tmp_Cot_Fase_Insumo.ctpfi_cins_id && t.activo && !t.eliminado).SingleOrDefault();

            if (ModelState.IsValid)
            {
                UsuarioTO usuarioTO = Cache.DiccionarioUsuariosLogueados[User.Identity.Name];
                if (tmp == null)
                {
                    tmp_Cot_Fase_Insumo.id_usuario_creacion = usuarioTO.usuario.id_usuario;
                    tmp_Cot_Fase_Insumo.fecha_creacion      = DateTime.Now;
                    tmp_Cot_Fase_Insumo.activo    = true;
                    tmp_Cot_Fase_Insumo.eliminado = false;
                    db.Pt_Tmp_Cotizacion_Fase_Insumos.Add(tmp_Cot_Fase_Insumo);
                    db.SaveChanges();
                }
                else
                {
                    if (tmp_Cot_Fase_Insumo.ctpfi_cfas_id == tmp.ctpfi_cfas_id && tmp_Cot_Fase_Insumo.ctpfi_cins_id == tmp.ctpfi_cins_id)
                    {
                        tmp_Cot_Fase_Insumo.fecha_modificacion      = DateTime.Now;
                        tmp_Cot_Fase_Insumo.id_usuario_modificacion = usuarioTO.usuario.id_usuario;
                        tmp.ctpfi_cantidad  = tmp.ctpfi_cantidad + 1;
                        db.Entry(tmp).State = EntityState.Modified;
                        db.SaveChanges();
                    }
                }
                Pt_Fases_Cotizacion faseCotizacion = db.Pt_Fases_Cotizacion.Find(tmp_Cot_Fase_Insumo.ctpfi_cfas_id);
                List <Pt_Insumos>   insumos        = faseCotizacion.Pt_Tmp_Cotizacion_Fase_Insumos.Where(tpfp => tpfp.ctpfi_cfas_id == tmp_Cot_Fase_Insumo.ctpfi_cfas_id && tpfp.activo && !tpfp.eliminado).Select(tpfp => tpfp.Pt_Insumos).ToList();
                ViewBag.ins           = insumos;
                ViewBag.pagosPuesto   = db.Pt_Pagos_Puesto.Where(pp => pp.cppu_cpue_id == tmp_Cot_Fase_Insumo.ctpfi_cfas_id).ToList();
                ViewBag.puestoInsumos = db.Pt_Puesto_Insumos.Where(pp => pp.cpin_cins_id == tmp_Cot_Fase_Insumo.ctpfi_cins_id).ToList();
                return(RedirectToAction("Create/" + tmp_Cot_Fase_Insumo.ctpfi_cfas_id));
            }
            ViewBag.ctpf_cfas_id = new SelectList(db.Pt_Fases_Cotizacion, "cfas_id", "cfas_nombre", tmp_Cot_Fase_Insumo.ctpfi_cfas_id);
            ViewBag.ctpf_cpue_id = new SelectList(db.Pt_Puestos, "cpue_id", "cpue_descripcion", tmp_Cot_Fase_Insumo.ctpfi_cfas_id);
            return(View(tmp_Cot_Fase_Insumo));
        }