public void ConsultaDatosCreacion(perfiltributario modelo) { //consulta el nombre de usuario creacion con el id, lo envia a la vista a traves de ViewBag users creator = context.users.Find(modelo.userid_creacion); if (creator != null) { ViewBag.user_nombre_cre = creator.user_nombre + " " + creator.user_apellido; } users modificator = context.users.Find(modelo.user_idactualizacion); if (modificator != null) { ViewBag.user_nombre_act = modificator.user_nombre + " " + modificator.user_apellido; ViewBag.user_fec_act = modificator.userfec_actualizacion.ToString(); } }
public ActionResult update(int?id, int?menu) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } perfiltributario perfil = context.perfiltributario.FirstOrDefault(x => x.perfilTributario_id == id); if (perfil == null) { return(HttpNotFound()); } var buscarBodegas = from perfilTributario in context.perfiltributario where perfilTributario.sw == perfil.sw && perfilTributario.tipo_regimenid == perfil.tipo_regimenid select new { perfilTributario.bodega, perfilTributario.perfilTributario_id }; string bodegasString = ""; string perfil_idString = ""; bool primera = true; foreach (var item in buscarBodegas) { if (primera) { bodegasString += item.bodega; perfil_idString += item.perfilTributario_id; primera = !primera; } else { bodegasString += "," + item.bodega; perfil_idString += "," + item.perfilTributario_id; } } ViewBag.bodegasSeleccionadas = bodegasString; ViewBag.perfilesSeleccionados = perfil_idString; CamposListasDesplegables(); ConsultaDatosCreacion(perfil); BuscarFavoritos(menu); return(View(perfil)); }
public ActionResult Create(ModeloPerfilTributario modelo, int?menu) { string bodegasSeleccionadas = Request["bodega"]; if (ModelState.IsValid) { if (!string.IsNullOrEmpty(bodegasSeleccionadas)) { string[] bodegasId = bodegasSeleccionadas.Split(','); List <int> listaBodegas = new List <int>(); foreach (string item in bodegasId) { listaBodegas.Add(Convert.ToInt32(item)); } var buscarPerfil = (from perfilTibutario in context.perfiltributario join bodega in context.bodega_concesionario on perfilTibutario.bodega equals bodega.id where listaBodegas.Contains(perfilTibutario.bodega) && perfilTibutario.sw == modelo.sw && perfilTibutario.tipo_regimenid == modelo.tipo_regimenid select new { bodega.bodccs_nombre }).FirstOrDefault(); if (buscarPerfil != null) { TempData["mensaje_error"] = "El perfil ya se encuentra registrado para la bodega " + buscarPerfil.bodccs_nombre; } else { foreach (int bodegaId in listaBodegas) { perfiltributario nuevoperfil = new perfiltributario { userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), fec_creacion = DateTime.Now, bodega = bodegaId, tipo_regimenid = modelo.tipo_regimenid, sw = modelo.sw, retfuente = modelo.retfuente, retiva = modelo.retiva, retica = modelo.retica, pretfuente = modelo.pretfuente, pretiva = modelo.pretiva, pretica = modelo.pretica, baseretfuente = modelo.baseretfuente, baseretiva = modelo.baseretiva, baseretica = modelo.baseretica, autorretencion = modelo.autorretencion, estado = modelo.estado, razon_inactivo = modelo.razon_inactivo }; context.perfiltributario.Add(nuevoperfil); } int guardar = context.SaveChanges(); if (guardar > 0) { TempData["mensaje"] = "El perfil ha sido creado exitosamente"; ViewBag.bodegasSeleccionadas = bodegasSeleccionadas; return(RedirectToAction("Create")); } else { TempData["mensaje_error"] = "Error de base de datos, por favor revise su conexion"; } } } } CamposListasDesplegables(); BuscarFavoritos(menu); ViewBag.bodegasSeleccionadas = bodegasSeleccionadas; return(View(modelo)); }
public ActionResult update(perfiltributario modelo, int?menu) { string bodegasSeleccionadas = Request["bodega"]; string perfilesSeleccionados = Request["perfilesSeleccionados"]; if (ModelState.IsValid) { List <int> listaPerfiles = new List <int>(); if (!string.IsNullOrEmpty(perfilesSeleccionados)) { string[] perfilesId = perfilesSeleccionados.Split(','); foreach (string item in perfilesId) { listaPerfiles.Add(Convert.ToInt32(item)); } } if (!string.IsNullOrEmpty(bodegasSeleccionadas)) { string[] bodegasId = bodegasSeleccionadas.Split(','); List <int> listaBodegas = new List <int>(); foreach (string item in bodegasId) { listaBodegas.Add(Convert.ToInt32(item)); } int swAnterior = Convert.ToInt32(Request["swAnterior"]); int regimenAnterior = Convert.ToInt32(Request["regimenAnterior"]); var buscarPerfilesAEliminar = (from perfilTributario in context.perfiltributario where !listaBodegas.Contains(perfilTributario.bodega) && perfilTributario.sw == swAnterior && perfilTributario.tipo_regimenid == regimenAnterior select new { perfilTributario.bodega, perfilTributario.perfilTributario_id }).Distinct().ToList(); //var buscarPerfil = (from perfilTibutario in context.perfiltributario // join bodega in context.bodega_concesionario // on perfilTibutario.bodega equals bodega.id // where listaBodegas.Contains(perfilTibutario.bodega) && perfilTibutario.sw == modelo.sw && perfilTibutario.tipo_regimenid == modelo.tipo_regimenid // select perfilTibutario).Distinct().ToList(); foreach (int bodega in listaBodegas) { perfiltributario buscarRepetido = context.perfiltributario.FirstOrDefault(x => x.bodega == bodega && x.sw == modelo.sw && x.tipo_regimenid == modelo.tipo_regimenid); if (buscarRepetido != null) { if (listaPerfiles.Contains(buscarRepetido.perfilTributario_id)) { buscarRepetido.bodega = bodega; buscarRepetido.sw = modelo.sw; buscarRepetido.tipo_regimenid = modelo.tipo_regimenid; buscarRepetido.retfuente = modelo.retfuente; buscarRepetido.retica = modelo.retica; buscarRepetido.retiva = modelo.retiva; //if (!string.IsNullOrWhiteSpace(modelo.pretfuente)) //{ // var conver1 = Decimal.TryParse(modelo.pretfuente, out pretfuentenum); //} buscarRepetido.pretfuente = modelo.pretfuente; buscarRepetido.pretica = modelo.pretica; buscarRepetido.pretiva = modelo.pretiva; buscarRepetido.baseretfuente = modelo.baseretfuente; buscarRepetido.baseretica = modelo.baseretica; buscarRepetido.baseretiva = modelo.baseretiva; buscarRepetido.autorretencion = modelo.autorretencion; buscarRepetido.fec_actualizacion = DateTime.Now; buscarRepetido.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); context.Entry(buscarRepetido).State = EntityState.Modified; } else { bodega_concesionario buscaBodega = context.bodega_concesionario.FirstOrDefault(x => x.id == buscarRepetido.bodega); TempData["mensaje_error"] = "El registro del perfil para la bodega " + buscaBodega.bodccs_nombre + " ya se encuentra creado"; CamposListasDesplegables(); ConsultaDatosCreacion(modelo); BuscarFavoritos(menu); return(RedirectToAction("update", new { id = modelo.perfilTributario_id, menu })); } } else { context.perfiltributario.Add(new perfiltributario() { bodega = bodega, sw = modelo.sw, tipo_regimenid = modelo.tipo_regimenid, retfuente = modelo.retfuente, retica = modelo.retica, retiva = modelo.retiva, pretfuente = modelo.pretfuente, pretica = modelo.pretica, pretiva = modelo.pretiva, baseretfuente = modelo.baseretfuente, baseretica = modelo.baseretica, baseretiva = modelo.baseretiva, autorretencion = modelo.autorretencion, fec_creacion = DateTime.Now, userid_creacion = Convert.ToInt32(Session["user_usuarioid"]), fec_actualizacion = DateTime.Now, user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]) }); } } int guardar = context.SaveChanges(); if (guardar > 0) { foreach (var eliminar in buscarPerfilesAEliminar) { const string query = "DELETE FROM [dbo].[perfiltributario] WHERE [perfilTributario_id]={0}"; int rows = context.Database.ExecuteSqlCommand(query, eliminar.perfilTributario_id); } TempData["mensaje"] = "La actualización del perfil tributario fue exitoso!"; CamposListasDesplegables(); ConsultaDatosCreacion(modelo); BuscarFavoritos(menu); return(RedirectToAction("Create", menu)); } else { TempData["mensaje_error"] = "No se ha actualizado ningun registro"; CamposListasDesplegables(); ConsultaDatosCreacion(modelo); BuscarFavoritos(menu); return(RedirectToAction("update", new { id = modelo.perfilTributario_id, menu })); } } //consulta si el registro esta en BD teniendo en cuenta el id de consulta //var buscar = context.perfiltributario.FirstOrDefault(x=>x.bodega == modelo.bodega && x.sw == modelo.sw && x.tipo_regimenid == modelo.tipo_regimenid); //if (buscar!=null) //{ //if (buscar.perfilTributario_id == modelo.perfilTributario_id) //{ // buscar.bodega = modelo.bodega; // buscar.sw = modelo.sw; // buscar.tipo_regimenid = modelo.tipo_regimenid; // buscar.retfuente = modelo.retfuente; // buscar.retica = modelo.retica; // buscar.retiva = modelo.retiva; // buscar.fec_actualizacion = DateTime.Now; // buscar.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); // context.Entry(buscar).State = EntityState.Modified; // context.SaveChanges(); // TempData["mensaje"] = "La actualización del perfil tributario fue exitoso!"; // CamposListasDesplegables(); // ConsultaDatosCreacion(modelo); // BuscarFavoritos(menu); // return View(buscar); //} //else { // TempData["mensaje_error"] = "El registro del perfil ya se encuentra creado"; //} //} //else //{ // modelo.fec_actualizacion = DateTime.Now; // modelo.user_idactualizacion = Convert.ToInt32(Session["user_usuarioid"]); // context.Entry(modelo).State = EntityState.Modified; // context.SaveChanges(); // TempData["mensaje"] = "La actualización del perfil tributario fue exitoso!"; //} } CamposListasDesplegables(); ConsultaDatosCreacion(modelo); BuscarFavoritos(menu); return(View(modelo)); }