public AutorizacionVer Authorize([FromBody] AuthorizeIn id) { var autorizacionVer = new AutorizacionVer(); //try //{ // if (ModelState.IsValid) // { // var model = new Authorize(id.OSId, id.PrestadorId, id.FacturadorId, id.Credencial, id.Tipo, id.Prestaciones, User.Identity.Name); // var autorizacion = new AutorizacionRepository(); // autorizacionVer = autorizacion.Autorizacion(model); // } // else // { // var error = ModelState.Values.FirstOrDefault() != null ? ModelState.Values.FirstOrDefault().Errors[0].ErrorMessage : string.Empty; // autorizacionVer.SetError(GetType().Name, 0, error, string.Empty, id, string.Empty); // } //} //catch (Exception ex) //{ // autorizacionVer.SetError(GetType().Name, GetMethod.ErrorLine(ex), ex.Message, ex.InnerException?.ToString() ?? string.Empty, id, string.Empty); //} var auth = new AutorizacionVer(); auth.Afiliado = "Jose Salvador"; auth.Aseguradora = "Salvador Company"; auth.AuthNr = "000004518142"; auth.AuthNrAnulacion = ""; //auth.Detalle auth.Estado = "Autorizada"; auth.Fecha = "14/06/19"; auth.IdentificacionNro = "???????"; auth.Iva = "Excento"; auth.Matricula = "9999"; auth.Plan = "El mas Alto"; auth.Profesional = "Dr. Salvador Jesus Juan Pablo"; auth.ShowMessage = "No se que mensaje"; auth.Detalle = new List <AutorizacionVerDet>(); var authDet = new AutorizacionVerDet(); authDet.Cantidad = "1"; authDet.Estado = "Aprobada"; authDet.Observacion = "Puede hacerce cualquier cosa"; authDet.Prestacion = "Radiografia de Colon"; return(auth); }
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); }
public static void SendMailAutirizacion(AutorizacionVer autorizacion, string email) { var Body = ""; var estado = ""; switch (autorizacion.Estado) { case "Autorizada": estado = "green"; break; case "Rechazada": estado = "red"; break; case "Autorizada Parcial": estado = "orange"; break; default: estado = "black"; break; } Body += "<table style='width:100%'>"; Body += " <tr>"; Body += " <td colspan='2' style='padding-left: 2%;'>"; Body += " <img src='https://cirmedsa.com.ar/images/logo.png' style='height: 100px;width: 100px;'>"; Body += " </td>"; Body += " <td colspan='8'>"; Body += " <h3 style='font-size: 34px; line-height: 1.11111111; letter-spacing: -1px; font-family: Raleway,sans-serif;font-weight: 900;margin: 0;text-transform: uppercase;color: #039;text-align: center;'>Circulo Medico Salta</h3>"; Body += " <h6 style='font-size: 20px;line-height: 1.25;color: #21c2f8;font-weight: 700;text-transform: none;margin: 0;text-align: center;'>Asoc.civil sin fines de Lucro</h6>"; Body += " </td>"; Body += " </tr>"; Body += " <tr>"; Body += " <td colspan='12' style='padding-bottom: 10px;text-align: center;height:35px; font-size: 20px'>"; Body += " <h7 style='padding-bottom: 10px;text-align: center;height:35px'>Comprobante de Autorización ON-LINE</h7>"; Body += " </td>"; Body += " </tr>"; Body += " <tr>"; Body += " <td colspan='4'><b>Autorización Nº:</b> <i> " + autorizacion.AuthNr + "</i></td>"; Body += " <td colspan='4'><b>Fecha:</b> " + autorizacion.Fecha + "</td>"; Body += " <td colspan='4'><b>Estado:</b> <span style='font-size:1.5em;color:" + estado + " '> " + autorizacion.Estado + "</span></td>"; Body += " </tr>"; Body += " <tr>"; Body += " <td colspan='6'><b>Afiliado:</b> " + autorizacion.Afiliado + "</td>"; Body += " <td colspan='3'><b>Plan:</b> " + autorizacion.Plan + "</td>"; Body += " <td colspan='3'><b>Cond.IVA:</b> " + autorizacion.Iva + "</td>"; Body += " </tr>"; Body += " <tr>"; Body += " <td colspan='6'><b>Nº Identificacion:</b> " + autorizacion.IdentificacionNro + "</td>"; Body += " <td colspan='6'><b>Aseguradora:</b> " + autorizacion.Aseguradora + "</td>"; Body += " </tr>"; Body += " <tr>"; Body += " <td colspan='6'><b>Profesional:</b> " + autorizacion.Profesional + "</td>"; Body += " <td colspan='6'><b>Matricula:</b> " + autorizacion.Matricula + "</td>"; Body += " </tr>"; Body += " <tr>"; Body += " <td colspan='12' style='text-align:center;margin-bottom: 10px; font-size: 18px'>"; Body += " <b>Prestaciones</b>"; Body += " </td>"; Body += " </tr>"; Body += " <tr>"; Body += " <td colspan='5'><b>Prestación</b></td>"; Body += " <td colspan='1'><b>Cant.</b></td>"; Body += " <td colspan='2'><b>Estado</b></td>"; Body += " <td colspan='4'><b>Observación</b></td>"; Body += " </tr>"; foreach (var item in autorizacion.Detalle) { Body += " <tr>"; Body += " <td colspan='5'> " + item.Prestacion + "</td>"; Body += " <td colspan='1'> " + item.Cantidad + "</td>"; Body += " <td colspan='2'> " + item.Estado + " </td>"; Body += " <td colspan='4'> " + item.Observacion + "</td>"; Body += " </tr>"; } Body += "</table>"; Send(Body); }