/// <summary> /// Crea un nuevo registro en la tabla undad dumental /// </summary> /// <param name="nuevo">Objeto unidad ducumental</param> /// <returns>long</returns> public long Add(alm_UnidadDocumental nuevo) { return(long.Parse(_db.spAlm_InsertarUnidadDocumental(nuevo.Cliente, nuevo.Oficina, nuevo.TipoContenedor, nuevo.FechaCreacion, nuevo.UsuarioCreacion, nuevo.DestinoId).ToArray()[0].Identity.ToString())); }
public ActionResult Guardar(FormCollection collection) { alm_UnidadDocumental unidadDObjeto = new alm_UnidadDocumental(); alm_GruposCUD grupoAlmacenado; alm_CapturaUD capturaUD; List <alm_GruposCUD> listaGrupos = new List <alm_GruposCUD>(); List <alm_CapturaUD> listCaptura = new List <alm_CapturaUD>(); UnidadDocumentalModel unidadDModel = new UnidadDocumentalModel(db); ParametrosController parametros = new ParametrosController(db); unidadDObjeto.Cliente = ((GestorDocumental.Models.Clientes)Session["CLIENTE"]).CliNit; unidadDObjeto.TipoContenedor = Convert.ToInt32(collection["tipoContenedor"]); unidadDObjeto.DestinoId = Convert.ToInt32(collection["destinoAlmacenamiento"]); unidadDObjeto.FechaCreacion = DateTime.Now; unidadDObjeto.UsuarioCreacion = ((Usuarios)Session["USUARIO_LOGUEADO"]).IdUsuario; unidadDObjeto.Estado = 1; unidadDObjeto.Oficina = Convert.ToInt32(collection["oficina"]); //Guarda el los dato de la unidad documental creada //Y crea la nueva asignacion de tareas para la Unidad documental creada long CUD = unidadDModel.Add(unidadDObjeto); string parametroImpresion = parametros.get("TYPO_PRINT_ALM"); var llaves = collection.AllKeys; for (int i = 0; i < llaves.Length; i++) { //Busca los subproudctos seleccionados if (llaves[i].Contains("subProc_")) { grupoAlmacenado = new alm_GruposCUD(); grupoAlmacenado.CUD = CUD; grupoAlmacenado.GruId = Convert.ToInt32(llaves[i].Split(new String[] { "subProc_" }, StringSplitOptions.RemoveEmptyEntries)[0].ToString()); grupoAlmacenado.Activo = true; listaGrupos.Add(grupoAlmacenado); } //Busca los los campos dinamicos pintados IEnumerable <dynamic> campos = Session["listaCamposDinamicos"] as dynamic; if (llaves[i].Contains("idCampo_")) { capturaUD = new alm_CapturaUD(); string idcampo = llaves[i].Split(new String[] { "idCampo_" }, StringSplitOptions.RemoveEmptyEntries)[0].ToString(); var campo = campos.Where(x => Extends.ObtenerValorReflexion(x, "CampId").ToString() == idcampo).FirstOrDefault(); if (campo.TcId == 5) { capturaUD.CUD = CUD; capturaUD.CampId = int.Parse(idcampo); capturaUD.Valor = CodigoDelItemLista(int.Parse(collection[llaves[i]])); capturaUD.Usuario = ((Usuarios)Session["USUARIO_LOGUEADO"]).IdUsuario; capturaUD.Fecha = DateTime.Now; } else { capturaUD.CUD = CUD; capturaUD.CampId = int.Parse(idcampo); capturaUD.Valor = collection[llaves[i]]; capturaUD.Usuario = ((Usuarios)Session["USUARIO_LOGUEADO"]).IdUsuario; capturaUD.Fecha = DateTime.Now; } listCaptura.Add(capturaUD); } } //Guarda los datos de los grupos que estan almacenado en esa unidad documental unidadDModel.Add(listaGrupos); //Guarda los datos adicionales de la unidad documental unidadDModel.Add(listCaptura); ViewData["CUD"] = CUD; ViewData["parametroImpresion"] = parametroImpresion; if (parametroImpresion == "2") { //Queda pendiente crear el codigo de la zebra } return(View()); }