public AutorizacionVer Autorizacion(Authorize model) { var autorizacionOs = new AutorizacionOs(); var autorizacionVer = new AutorizacionVer(); try { model.Efector = DatosPrestador(Convert.ToInt32(model.PrestadorId)); switch (model.OSId) { case 0: break; case 1: //Swiss Medical var swiss = new OSSwiss(); autorizacionOs = swiss.Autorizar(model); break; case 2: var acaSalud = new OSAcaSalud(); autorizacionOs = acaSalud.Autorizar(model).Result; break; case 5: case 8: var boreal = new OSBoreal(); autorizacionOs = boreal.Autorizar(model); break; case 6: var medife = new OSMedife(); autorizacionOs = medife.Autorizar(model); break; case 7: var redSeguros = new OSRedSeguros(); autorizacionOs = redSeguros.Autorizar(model); break; case 9: var sancor = new OSSancor(); autorizacionOs = sancor.Autorizar(model); break; case 10: //Luz y Fuerza break; case 11: var os = new OSPatrones(); autorizacionOs = os.Autorizar(model); break; } if (!autorizacionOs.HasError) { var authNr = Autorizar(autorizacionOs); //Todo Guardar en Base de Datos // return cod Autorizacion; //Al menos retornar codigo de Autorizacion autorizacionVer.AuthNr = autorizacionOs.CnroAutorizacion;// .CcodinternoAutorizacion; autorizacionVer.Fecha = autorizacionOs.DfecAutorizacion; autorizacionVer.Afiliado = autorizacionOs.CnomAfiliado; autorizacionVer.Plan = autorizacionOs.CdescripcionPlan; autorizacionVer.Iva = autorizacionOs.CdescripcionIva; autorizacionVer.IdentificacionNro = autorizacionOs.NnroAfiliado; autorizacionVer.Aseguradora = model.OsNombre; autorizacionVer.Matricula = model.Efector.Matricula.ToString(); autorizacionVer.Profesional = model.Efector.Name; autorizacionVer.Estado = autorizacionOs.EstadoAutorizacion; autorizacionVer.Id = authNr; foreach (var det in autorizacionOs.AutorizacionOsDet) { var authVerDet = new AutorizacionVerDet { Prestacion = "(" + det.PracticaId + ") - " + det.PracticaDes, Cantidad = (string.IsNullOrEmpty(det.PracticaCantAprob) ? "1" : det.PracticaCantAprob), Estado = det.PracticaIdEstado, Observacion = det.PracticaDetAuth }; autorizacionVer.Detalle.Add(authVerDet); } ///Todo:Enviar Mail con info de Autoizacion //SendMail.SendMailAutirizacion(autorizacionVer); } else { autorizacionVer.HasError = autorizacionOs.HasError; autorizacionVer.Error = autorizacionOs.Error; } } catch (Exception ex) { autorizacionVer.SetError(GetType().Name, GetMethod.ErrorLine(ex), ex.Message, ex.InnerException?.ToString() ?? string.Empty, model, string.Empty); } return(autorizacionVer); }
public AutorizacionVer Anular(int authId) { var anulacionOs = new AnulacionOS(); var autorizacionVer = new AutorizacionVer(); try { var auth = new AutorizacionRepository(); Anular model = auth.GetAuthDataById(authId); switch (model.OSId) { case 114: //Swiss Medical var swiss = new OSSwiss(); anulacionOs = swiss.Anular(model); break; case 132: var acaSalud = new OSAcaSalud(); anulacionOs = acaSalud.AnularAsync(model).Result; break; case 137: case 192: var boreal = new OSBoreal(); anulacionOs = boreal.Anular(model); break; case 140: var medife = new OSMedife(); anulacionOs = medife.Anular(model); break; case 181: var redSeguros = new OSRedSeguros(); anulacionOs = redSeguros.Anular(model); break; case 148: var sancor = new OSSancor(); anulacionOs = sancor.Anular(model); break; case 141: //Hay que cambiar por la correspondiente var os = new OSPatrones(); anulacionOs = os.Anular(model); break; } if (!anulacionOs.HasError) { if (Anular(anulacionOs)) { return(GetAuthBy(authId)); } //todo mapear objeto //return Al menos retornar codigo de anulacion } else { autorizacionVer.HasError = anulacionOs.HasError; autorizacionVer.Error = anulacionOs.Error; } } catch (Exception ex) { autorizacionVer.SetError(GetType().Name, GetMethod.ErrorLine(ex), ex.Message, ex.InnerException?.ToString() ?? "", authId, string.Empty); } return(autorizacionVer); }