public async Task <IActionResult> Derivar(HojaRutaDTO item) { if (item.Instrucciones.Length > 0) { ApplicationUser currentUser = await GetCurrentUser(); var hojaRuta = await DB.CorrespondenciaHojaRuta.FirstOrDefaultAsync(m => m.Id == item.HojaRutaId); if (hojaRuta == null) { return(View("_NoEncontrado")); } var detalle = await DB.CorrespondenciaHRDetalle.FirstOrDefaultAsync(m => m.Id == item.Id); detalle.IdEstadoRegistro = Constantes.Enviado; hojaRuta = item.populateDetalle(hojaRuta, currentUser.AspNetUserId, DB); hojaRuta = item.populateAnexos(hojaRuta, currentUser.AspNetUserId, DB); DB.Update(hojaRuta); DB.Update(detalle); await DB.SaveChangesAsync(); SetFlashSuccess("La Hoja de Ruta fue derivada correctamente"); return(RedirectToAction(nameof(Index))); } return(View("_Derivar", item)); }
public async Task <IActionResult> Create(HojaRutaDTO item) { if (ModelState.IsValid) { ApplicationUser currentUser = await GetCurrentUser(); string cite = await GetCite(item.UnidadEjecutoraId); HojaRuta hojaRuta = item.prepare(currentUser.AspNetUserId, DB); hojaRuta.CiteUE = $"{cite}-CORR.".Replace("NN-", ""); DB.Add(hojaRuta); await DB.SaveChangesAsync(); var parent = hojaRuta.Derivaciones.First(d => d.Padre == -1); if (parent != null) { foreach (var child in hojaRuta.Derivaciones.Where(d => d.Padre == 0)) { child.Padre = parent.Id; } parent.Padre = 0; DB.SaveChanges(); } SetFlashSuccess("La Hoja de Ruta fue creada correctamente"); return(RedirectToAction(nameof(Index), new{ type = Constantes.HRTipoDespachados })); } return(View("_Create", item)); }
public async Task <IActionResult> Create(int?idDoc) { var model = new HojaRutaDTO(); ApplicationUser currentUser = await GetCurrentUser(); model.FechaDoc = DateTime.Now; model.NroFojas = 1; model.Parent = 0; model.DocumentoId = 0; model.OrigenId = currentUser.Funcionario.IdBeneficiario; model.Remitente = currentUser.Funcionario.Denominacion; model.UnidadEjecutoraId = currentUser.Funcionario.Puesto.UnidadEjecutora.IdUnidadEjecutora; model.UnidadEjecutoraNombre = currentUser.Funcionario.Puesto.UnidadEjecutora.Descripcion; if (idDoc > 0) { var doc = await DB.CorrespondenciaDocumento .Include(d => d.FuncionarioOrigen) .Include(d => d.FuncionarioOrigen.Puesto.UnidadEjecutora) .FirstOrDefaultAsync(d => d.Id == idDoc); if (doc != null) { model.DocumentoId = doc.Id; model.OrigenId = doc.FuncionarioOrigenId; model.Remitente = doc.FuncionarioOrigen.Denominacion; model.UnidadEjecutoraId = doc.FuncionarioOrigen.Puesto.UnidadEjecutora.IdUnidadEjecutora; model.UnidadEjecutoraNombre = doc.AreaFuncionarioOrigen; model.Referencia = doc.Referencia; model.CiteDoc = doc.Cite; model.FechaDoc = doc.Fecha; } } var areas = await GetAreas(currentUser.Funcionario.IdBeneficiario); var instrucciones = GetInstrucciones(); ViewBag.choose_user = (User.IsInRole(SD.SecretariaUser) || User.IsInRole(SD.SuperAdminEndUser)); ViewBag.areas = areas; ViewBag.instrucciones = instrucciones; ViewBag.Tipos = DB.CorrespondenciaTipoDocumento.Where(t => t.IdEstadoRegistro != Constantes.Anulado).ToList(); ViewBag.tiposAnexo = DB.CorrespondenciaTipoAnexo.Where(t => t.IdEstadoRegistro != Constantes.Anulado).ToList(); return(View("_Create", model)); }
public async Task <IActionResult> Derivar(int id, int?idDoc) { var item = await DB.CorrespondenciaHRDetalle .Include(m => m.HojaRuta) .FirstOrDefaultAsync(m => m.Id == id); if (item == null) { return(View("_NoEncontrado")); } ApplicationUser currentUser = await GetCurrentUser(); if (item.FunDstId != currentUser.Funcionario.IdBeneficiario) { return(View("_NoAutorizado")); } var model = new HojaRutaDTO(); model.HojaRutaId = item.HojaRutaId; model.OrigenId = item.FunDstId; model.UnidadEjecutoraId = item.AreaDestinoId; model.Parent = item.Id; model.DocumentoId = 0; if (idDoc > 0 && DocExists((int)idDoc)) { model.DocumentoId = (int)idDoc; } var areas = await GetAreas(currentUser.Funcionario.IdBeneficiario); var instrucciones = GetInstrucciones(); ViewBag.areas = areas; ViewBag.instrucciones = instrucciones; ViewBag.HojaRuta = item.HojaRuta; ViewBag.Tipos = DB.CorrespondenciaTipoDocumento.Where(t => t.IdEstadoRegistro != Constantes.Anulado).ToList(); ViewBag.tiposAnexo = DB.CorrespondenciaTipoAnexo.Where(t => t.IdEstadoRegistro != Constantes.Anulado).ToList(); return(View("_Derivar", model)); }