Example #1
0
        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);
        }
Example #4
0
        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);
        }