public ActionResult Guardar(CrearOrdenVM model) { var watch = Stopwatch.StartNew(); string mensajeResultado = string.Empty; try { var datosclinicos = model.OrdenDatosClinicos.Where(x => !string.IsNullOrWhiteSpace(x.Valor)).ToList(); datosclinicos.ForEach(dc => { dc.IdUsuarioRegistro = Logueado.idUsuario; }); model.OrdenExamenes.ForEach(oe => { oe.ProyectoId = model.ProyectoId; }); foreach (var items in model.OrdenExamenes.GroupBy(x => x.IdTipoMuestra)) { var item = items.FirstOrDefault(x => !string.IsNullOrWhiteSpace(x.CodigoMuestra)); items.ToList().ForEach(i => { i.CodigoMuestra = item.CodigoMuestra; }); } using (var bl = new CoreBl()) { var watch2 = Stopwatch.StartNew(); bl.CrearOrdenDatosClinicos(datosclinicos, model.OrdenExamenes); watch2.Stop(); new bsPage().LogCrearOrdenInfo("LogNetLab", "Guardar - CrearOrdenDatosClinicos ", $" Info Guardar {datosclinicos.Count} datos clinicos - Tiempo transcurrido: {watch2.ElapsedMilliseconds} ms"); mensajeResultado = bl.FinalizarCreacionOrden(model); } var recepcionbl = new RecepcionBl(); //rechazar foreach (var item in model.OrdenExamenes.Where(x => x.MotivoRechazo.Any())) { item.IdUsuario = Logueado.idUsuario; recepcionbl.RechazarMuestra(new OrdenMuestraRecepcionados { IdOrdenMuestraRecepcion = item.IdOrdenMuestraRecepcion, IdUsuario = item.IdUsuario, MotivoRechazo = item.MotivoRechazo }); } watch.Stop(); new bsPage().LogCrearOrdenInfo("LogNetLab", "OrdenNuevo - Guardar - Info ", $" Info OrdenNuevo - Guardar - Tiempo transcurrido: {watch.ElapsedMilliseconds} ms"); if (!string.IsNullOrWhiteSpace(mensajeResultado)) { ViewBag.textoRegistro = mensajeResultado; } return(RedirectToAction("SearchRecepcion", "Paciente", new { mensajeregistro = mensajeResultado })); } catch (Exception ex) { watch.Stop(); new bsPage().LogError(ex, "LogNetLab", "", $" OrdenNuevo - Guardar - Tiempo transcurrido: {watch.ElapsedMilliseconds} ms"); throw ex; } }
public ActionResult FinalizarProceso(List <OrdenMuestraRecepcionados> model) { model.ForEach(m => { m.IdUsuario = Logueado.idUsuario; }); //rechazar var bl = new RecepcionBl(); foreach (var item in model.Where(x => x.MotivoRechazo.Any())) { bl.RechazarMuestra(item); } var listadoExcel = new List <OrdenMuestraRecepcionadosExcel>(); //procesar foreach (var item in model.Where(x => !x.MotivoRechazo.Any())) { listadoExcel.Add(new OrdenMuestraRecepcionadosExcel { CodigoMuestra = item.CodigoMuestra, CodigoLineal = item.CodigoLineal, //string.IsNullOrWhiteSpace(item.CodigoLineal) ? "No generado": item.CodigoLineal, Paciente = item.Paciente }); } DataTable dt = new DataTable("muestrasrecepcionadas"); dt = ConvertToDataTable(listadoExcel); dt.TableName = "listado"; using (XLWorkbook wb = new XLWorkbook()) { wb.Worksheets.Add(dt); wb.Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; wb.Style.Font.Bold = true; return(new ExcelResult(wb, "MuestrasRecepcionadas")); } }