public void MarcarSiniestroComoProcesado(Dominio.Entidades.TableroSiniestro Siniestro) { ITableroSiniestroRepositorio repositorioTableroSiniestro = IoC.GetObjectRepositorio <ITableroSiniestroRepositorio>(); ITableroSiniestroObservacionRepositorio repositorioTableroSiniestroObservacion = IoC.GetObjectRepositorio <ITableroSiniestroObservacionRepositorio>(); // Busco el siniestro TableroSiniestro _siniestro = repositorioTableroSiniestro.GetOne(s => s.TableroSiniestroID == Siniestro.TableroSiniestroID); // TableroSiniestro _siniestroAnterior = repositorioTableroSiniestro.GetOne(s => s.NroPreCaso == Siniestro.NroPreCaso); // Reviso si el siniestro no ha sido marcado como procesado if (_siniestro == null) { throw new DatosInvalidosException("No se encontraron datos del siniestro"); } else if (_siniestro.EstadoID == (Int32)NegociosSisPackInterface.SisPack.TableroSiniestroEstadoEnum.Solucionado) { throw new DatosInvalidosException("El siniestro ya ha sido cerrado"); } //else if (_siniestroAnterior != null) //{ // throw new DatosInvalidosException("Ya existe un siniestro con el numero de precaso ingresado"); //} // Marco el siniestro como solucionado _siniestro.EstadoID = (Int32)NegociosSisPackInterface.SisPack.TableroSiniestroEstadoEnum.Solucionado; _siniestro.Observacion = Siniestro.Observacion; _siniestro.NroPreCaso = Siniestro.NroPreCaso; repositorioTableroSiniestro.Update(_siniestro); }
public Dominio.Entidades.TableroSiniestro MarcarSiniestroEnTratamiento(Int32 GuiaID, List <Dominio.Entidades.ObservacionGuia> Observaciones, Int32 UsuarioID) { ITableroSiniestroRepositorio repositorioTableroSiniestro = IoC.GetObjectRepositorio <ITableroSiniestroRepositorio>(); ITableroSiniestroObservacionRepositorio repositorioTableroSiniestroObservacion = IoC.GetObjectRepositorio <ITableroSiniestroObservacionRepositorio>(); // Reviso si se puede procesar el siniestro foreach (Dominio.Entidades.ObservacionGuia o in Observaciones) { if (repositorioTableroSiniestroObservacion.GetOne(tso => tso.ObservacionID == o.ObservacionID && tso.Fecha == o.Fecha && o.GuiaID == o.GuiaID) != null) { throw new DatosInvalidosException("El siniestro está siendo tratado por otro usuario"); } } // Proceso las guías using (System.Transactions.TransactionScope Transaccion = new TransactionScope()) { TableroSiniestro _siniestro = repositorioTableroSiniestro.Insert(new TableroSiniestro() { GuiaID = GuiaID, EstadoID = (Int32)NegociosSisPackInterface.SisPack.TableroSiniestroEstadoEnum.EnTratamiento, UsuarioID = UsuarioID, Observacion = "" }); foreach (Dominio.Entidades.ObservacionGuia o in Observaciones) { repositorioTableroSiniestroObservacion.Insert(new TableroSiniestroObservacion() { TableroSiniestroID = _siniestro.TableroSiniestroID, ObservacionID = o.ObservacionID, Fecha = o.Fecha }); } Transaccion.Complete(); return(_siniestro); } }
public List <TableroSiniestro> GetTableroSiniestros() { List <TableroSiniestroResult> lst = IoC.GetObjectRepositorio <ITableroSiniestroRepositorio>().GetTableroSiniestro(); List <TableroSiniestro> lstTablero = new List <TableroSiniestro>(); TableroSiniestro auxTablero; foreach (TableroSiniestroResult item in lst) { auxTablero = lstTablero.Where(t => t.TableroSiniestroID == (item.TableroSiniestroID ?? 0) && t.GuiaID == item.GuiaID && t.TableroSiniestroPrioridadID == item.TableroSiniestroPrioridadID).FirstOrDefault(); if (auxTablero == null) { auxTablero = new TableroSiniestro() { TableroSiniestroID = item.TableroSiniestroID ?? 0, GuiaID = item.GuiaID, Guia = new Dominio.Entidades.Guia() { TipoGuia = item.TipoGuia, NroSucursalGuia = item.NroSucursalGuia, NroGuia = item.NroGuia, Observaciones = item.EstaRendida,//Si esta rendidda o no Agencia = new Agencia() { RazonSocial = item.AgenciaRinde ?? "", //la agencia en la cual rindieron la HR Email = item.Entregada //Es para no agregar otro atributo. Verificar si esta bien. }, }, EstadoID = item.EstadoID, UsuarioID = item.UsuarioID, Usuario = new Usuario() { Login = item.Usuario ?? "" }, Cliente = item.Cliente, Observacion = "", TableroSiniestroEstado = new TableroSiniestroEstado() { Estado = item.Estado }, TableroSiniestroPrioridadID = item.TableroSiniestroPrioridadID }; lstTablero.Add(auxTablero); } auxTablero.TableroSiniestroObservaciones.Add(new TableroSiniestroObservacion() { TableroSiniestroObservacionID = item.TableroSiniestroObservacionID ?? 0, TableroSiniestroID = item.TableroSiniestroID, ObservacionID = item.ObservacionID, Fecha = item.Fecha, Observacion = new Observacion() { ObsDescrip = item.Observacion, ConfiguracionTableroSiniestro = new TableroSiniestroConfiguracion() { TableroSiniestroPrioridadID = item.TableroSiniestroPrioridadID } }, ObservacionGuia = new ObservacionGuia() { UsuarioID = item.UsuarioID ?? 0, Usuario = new Usuario() { Agencia = new Agencia() { RazonSocial = item.Agencia, Nombre = item.EstaRendida } } } }); } return(lstTablero.OrderBy(t => t.EstadoID).ToList()); }