Example #1
0
        public static MessageCustom SavePlan(PlanBE entityPlan)
        {
            MessageCustom msg = new MessageCustom();


            var existPlan = PlanDal.ExistPlan(entityPlan);

            if (!existPlan)
            {
                var result = PlanDal.SavePlan(entityPlan);
                if (!result)
                {
                    msg.Error   = true;
                    msg.Status  = (int)HttpStatusCode.BadRequest;
                    msg.Message = "Sucedió un error al grabar el PLAN por favor vuelva a intentar.";
                }
                else
                {
                    msg.Error   = false;
                    msg.Status  = (int)HttpStatusCode.Created;
                    msg.Message = "Se creó correctamente.";
                }
            }
            else
            {
                msg.Error   = false;
                msg.Status  = (int)HttpStatusCode.Conflict;
                msg.Message = "El PLAN ya existe, por favor elija otra configuración.";
            }



            return(msg);
        }
Example #2
0
        public AddPlanResponseDTO AddPlan(AddPlanRequestDTO planRequest)
        {
            AddPlanResponseDTO planResponse = new AddPlanResponseDTO();

            planResponse.ListaPlan = new List <CatPlan>();

            PlanDal planDal = new PlanDal();

            int resultado = 0;

            foreach (CatPlan plan in planRequest.ListaPlan)
            {
                try
                {
                    resultado = planDal.AddPlan(plan.plan, plan.descripcion, plan.idModalidadPago, plan.usuarioInsert);

                    if (resultado == -1)
                    {
                        plan.mensaje = "OK";
                    }
                    else
                    {
                        plan.mensaje = "Error: Ocurrio un problema y no se edito la informacion de forma adecuada.";
                    }

                    planResponse.ListaPlan.Add(plan);
                }
                catch (Exception ex)
                {
                    plan.mensaje = "Error: " + ex.Message + ": Ocurrio un problema y no se edito la informacion de forma adecuada.";
                }
            }

            return(planResponse);
        }
Example #3
0
        public int DeletePlan(int id)
        {
            PlanDal Dal = new PlanDal();

            Dal.DeletePlan(id);
            return(1);
        }
Example #4
0
        public int UpdatePlan(PlanModel Plan)
        {
            PlanDal Dal = new PlanDal();

            Dal.UpdatePlan(Plan);
            return(1);
        }
Example #5
0
        public int AddPlan(PlanModel Plan)
        {
            PlanDal Dal = new PlanDal();

            Dal.AddPlan(Plan);
            return(1);
        }
        public BoardPlanVigilancia Filter(BoardPlanVigilancia data)
        {
            var list = new PlanDal().Filter(out int totalRecords, data);

            data.TotalRecords = totalRecords;
            data.List         = list;

            return(data);
        }
Example #7
0
        public static MessageCustom DeletedPlan(int planId)
        {
            MessageCustom msg     = new MessageCustom();
            bool          deleted = PlanDal.DeletedPlan(planId);

            msg.Error   = deleted ?  false : true;
            msg.Status  = deleted ? (int)HttpStatusCode.OK : (int)HttpStatusCode.Conflict;
            msg.Message = deleted ?  "Se eliminó correctamente." : "Sucedió un error al eliminar el PLAN, por favor vuelva a intentar.";


            return(msg);
        }
Example #8
0
        public static List <PlanEntity> GetWorkStationPlans(string StationRmesID)
        {
            StationEntity station = StationFactory.GetByPrimaryKey(StationRmesID);

            if (station == null)
            {
                Rmes.Public.ErrorHandle.EH.LASTMSG = "传入的StationRmesID不正确,没有找到相应Station";
                return(null);
            }
            List <PlanEntity> plans = new PlanDal().FindBySql <PlanEntity>("where RUN_FLAG<>'N' and PLINE_CODE=@0 and sysdate between BEGIN_DATE and END_DATE order by PLAN_SEQUENCE,PLAN_CODE", station.PLINE_CODE);

            return(plans);
        }
Example #9
0
        public static List <PlanEntity> GetByWorkshop1(string workshopcode)//需要打印的计划
        {
            List <PlanEntity>           plan    = new List <PlanEntity>();
            List <PlanEntity>           allplan = new PlanDal().GetCurrentPlan1();
            List <Workshop_PlineEntity> pline   = Workshop_PlineFactory.GetByWorkshopCode(workshopcode);

            for (int j = 0; j < allplan.Count; j++)
            {
                for (int k = 0; k < pline.Count; k++)
                {
                    if (allplan[j].PLINE_CODE == pline[k].PLINE_CODE)
                    {
                        plan.Add(allplan[j]);
                    }
                }
            }
            return(plan);
        }
Example #10
0
        public static List <PlanEntity> GetByLED(string pline_code)
        {
            string[]          _plines = pline_code.Split('^');
            List <PlanEntity> plan    = new List <PlanEntity>();

            List <PlanEntity> allplan = new PlanDal().GetPlanRun();

            for (int i = 0; i < allplan.Count; i++)
            {
                foreach (string pline in _plines)
                {
                    if (allplan[i].PLINE_CODE == pline)
                    {
                        plan.Add(allplan[i]);
                    }
                }
            }
            return(plan);
        }
Example #11
0
        public GetPlanResponseDTO GetPlan(GetPlanRequestDTO planRequest)
        {
            GetPlanResponseDTO empresaResponse = new GetPlanResponseDTO();
            List <CatPlan>     listaEmpresa    = new List <CatPlan>();

            PlanDal   planDal = new PlanDal();
            DataTable dtDatos = new DataTable();

            try
            {
                dtDatos = planDal.GetPlan(planRequest.IdPlan, planRequest.Plan);

                listaEmpresa = dtDatos.AsEnumerable()
                               .Select(row => new CatPlan
                {
                    idPlan          = row.Field <int?>("idPlan").GetValueOrDefault(),
                    plan            = string.IsNullOrEmpty(row.Field <string>("plan")) ? "" : row.Field <string>("plan"),
                    descripcion     = string.IsNullOrEmpty(row.Field <string>("descripcion")) ? "" : row.Field <string>("descripcion"),
                    idModalidadPago = row.Field <int?>("idModalidadPago").GetValueOrDefault(),
                    usuarioInsert   = string.IsNullOrEmpty(row.Field <string>("usuarioInsert")) ? "" : row.Field <string>("usuarioInsert"),
                    fechaInsert     = row.Field <DateTime?>("fechaInsert").GetValueOrDefault(),
                    usuarioUpdate   = string.IsNullOrEmpty(row.Field <string>("usuarioUpdate")) ? "" : row.Field <string>("usuarioUpdate"),
                    fechaUpdate     = row.Field <DateTime?>("fechaUpdate").GetValueOrDefault(),
                }).ToList();

                empresaResponse.ListaEmpresa = listaEmpresa;
                empresaResponse.Mensaje      = "OK";
            }
            catch (Exception ex)
            {
                empresaResponse.ListaEmpresa = new List <CatPlan>();
                empresaResponse.Mensaje      = "ERROR: " + ex.Message;
            }

            return(empresaResponse);
        }
Example #12
0
        public bool AddServiceComponentAtx(List <ProtocolComponentCustom> dataProtComponent, ServiceCustom dataService, int nodeId, int userId)
        {
            try
            {
                foreach (var obj in dataProtComponent)
                {
                    var componentId        = obj.ComponentId;
                    var serviceComponentId = new Common.Utils().GetPrimaryKey(nodeId, 24, "SC");
                    ServiceComponentDto oServiceComponentDto = new ServiceComponentDto();
                    oServiceComponentDto.v_ServiceComponentId     = serviceComponentId;
                    oServiceComponentDto.v_ComponentId            = obj.ComponentId;
                    oServiceComponentDto.i_MedicoTratanteId       = dataService.MedicoTratanteId;
                    oServiceComponentDto.v_ServiceId              = dataService.ServiceId;
                    oServiceComponentDto.i_ExternalInternalId     = (int)ComponenteProcedencia.Interno;
                    oServiceComponentDto.i_ServiceComponentTypeId = obj.ComponentTypeId;
                    oServiceComponentDto.i_IsVisibleId            = obj.UIIsVisibleId;
                    oServiceComponentDto.i_IsInheritedId          = (int)SiNo.No;
                    oServiceComponentDto.d_StartDate              = null;
                    oServiceComponentDto.d_EndDate = null;
                    oServiceComponentDto.i_index   = obj.UIIndex;

                    var porcentajes = obj.Porcentajes.Split('-');

                    float p1 = porcentajes[0] == null || porcentajes[0] == "" ? 0 : float.Parse(porcentajes[0]);
                    float p2 = porcentajes[1] == null || porcentajes[1] == "" ? 0 : float.Parse(porcentajes[1]);

                    var pb = obj.Price;
                    oServiceComponentDto.r_Price                    = pb + (pb * p1 / 100) + (pb * p2 / 100);
                    oServiceComponentDto.r_Price                    = SetNewPrice(oServiceComponentDto.r_Price, obj.ComponentId);
                    oServiceComponentDto.i_IsInvoicedId             = (int)SiNo.No;
                    oServiceComponentDto.i_ServiceComponentStatusId = (int)ServiceStatus.PorIniciar;
                    oServiceComponentDto.i_QueueStatusId            = (int)QueueStatusId.Libre;
                    oServiceComponentDto.i_Iscalling                = (int)FlagCall.NoseLlamo;
                    oServiceComponentDto.i_Iscalling_1              = (int)FlagCall.NoseLlamo;
                    oServiceComponentDto.v_IdUnidadProductiva       = obj.IdUnidadProductiva;

                    var resultplan = new PlanDal().GetPlans(dataService.ProtocolId, obj.IdUnidadProductiva);
                    var tienePlan  = false;
                    if (resultplan.Count > 0)
                    {
                        tienePlan = true;
                    }
                    else
                    {
                        tienePlan = false;
                    }
                    if (tienePlan)
                    {
                        if (resultplan[0].i_EsCoaseguro == 1)
                        {
                            oServiceComponentDto.d_SaldoPaciente    = resultplan[0].d_Importe * decimal.Parse(oServiceComponentDto.r_Price.ToString()) / 100;
                            oServiceComponentDto.d_SaldoAseguradora = decimal.Parse(oServiceComponentDto.r_Price.ToString()) - oServiceComponentDto.d_SaldoPaciente;
                        }
                        if (resultplan[0].i_EsDeducible == 1)
                        {
                            oServiceComponentDto.d_SaldoPaciente    = resultplan[0].d_Importe;
                            oServiceComponentDto.d_SaldoAseguradora = decimal.Parse(oServiceComponentDto.r_Price.ToString()) - resultplan[0].d_Importe;
                        }
                    }

                    var conditional = obj.IsConditionalId;
                    if (conditional == (int)SiNo.Si)
                    {
                        var fechaNacimiento = dataService.FechaNacimiento;
                        //Datos del paciente

                        if (fechaNacimiento != null)
                        {
                            var pacientAge = DateTime.Today.AddTicks(-fechaNacimiento.Ticks).Year - 1;

                            var pacientGender = dataService.GeneroId;

                            //Datos del protocolo
                            int         analyzeAge    = obj.Age.Value;
                            int         analyzeGender = obj.GenderId.Value;
                            var         @operator     = (Operator2Values)obj.OperatorId;
                            GrupoEtario oGrupoEtario  = (GrupoEtario)obj.GrupoEtarioId;
                            if ((int)@operator == -1)
                            {
                                //si la condicional del operador queda en --Seleccionar--
                                if (analyzeGender == (int)GenderConditional.Ambos)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else if (pacientGender == analyzeGender)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                }
                            }
                            else
                            {
                                if (analyzeGender == (int)GenderConditional.Masculino)
                                {
                                    oServiceComponentDto.i_IsRequiredId = SwitchOperator2Values(pacientAge, analyzeAge,
                                                                                                @operator, pacientGender.Value, analyzeGender);
                                }
                                else if (analyzeGender == (int)GenderConditional.Femenino)
                                {
                                    oServiceComponentDto.i_IsRequiredId = SwitchOperator2Values(pacientAge, analyzeAge,
                                                                                                @operator, pacientGender.Value, analyzeGender);
                                }
                                else if (analyzeGender == (int)GenderConditional.Ambos)
                                {
                                    oServiceComponentDto.i_IsRequiredId = SwitchOperator2Values(pacientAge, analyzeAge,
                                                                                                @operator, pacientGender.Value, analyzeGender);
                                }
                            }
                            if (componentId == "N009-ME000000402") //Adolecente
                            {
                                if ((int)oGrupoEtario == -1)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else if (13 <= pacientAge && pacientAge <= 18)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                }
                            }
                            else if (componentId == "N009-ME000000403") //Adulto
                            {
                                if ((int)oGrupoEtario == -1)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else if (19 <= pacientAge && pacientAge <= 60)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                }
                            }
                            else if (componentId == "N009-ME000000404") //AdultoMayorCustom
                            {
                                if ((int)oGrupoEtario == -1)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else if (61 <= pacientAge)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                }
                            }
                            else if (componentId == "N009-ME000000406")
                            {
                                if ((int)oGrupoEtario == -1)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else if (12 >= pacientAge)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                }
                            }
                            else if (componentId == "N009-ME000000401") //plan integral
                            {
                                if ((int)oGrupoEtario == -1)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else if (12 >= pacientAge)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                }
                            }
                            else if (componentId == "N009-ME000000400") //atencion integral
                            {
                                if ((int)oGrupoEtario == -1)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else if (12 >= pacientAge)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                }
                            }
                            else if (componentId == "N009-ME000000405") //consulta
                            {
                                if ((int)oGrupoEtario == -1)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else if (12 >= pacientAge)
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                }
                                else
                                {
                                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                }
                            }
                            else
                            {
                                oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                            }
                        }
                    }
                    else
                    {
                        oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                        if (obj.IsAdditional == null)
                        {
                            continue;
                        }
                        var adicional = obj.IsAdditional;
                        if (adicional == 1)
                        {
                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                        }
                    }
                    oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                    oServiceComponentDto.i_ConCargoA    = 0;
                    ctx.ServiceComponent.Add(oServiceComponentDto);
                }
                return(ctx.SaveChanges() > 0);
            }
            catch (Exception)
            {
                return(false);
            }
        }
Example #13
0
        public bool AddServiceComponent(List <ProtocolComponentCustom> dataProtComponent, ServiceCustom dataService, int nodeId, int userId)
        {
            try
            {
                foreach (var obj in dataProtComponent)
                {
                    var serviceComponentId = new Common.Utils().GetPrimaryKey(nodeId, 24, "SC");
                    ServiceComponentDto oServiceComponentDto = new ServiceComponentDto();
                    oServiceComponentDto.v_ServiceComponentId     = serviceComponentId;
                    oServiceComponentDto.v_ComponentId            = obj.ComponentId;
                    oServiceComponentDto.i_MedicoTratanteId       = dataService.MedicoTratanteId;
                    oServiceComponentDto.v_ServiceId              = dataService.ServiceId;
                    oServiceComponentDto.i_ExternalInternalId     = (int)ComponenteProcedencia.Interno;
                    oServiceComponentDto.i_ServiceComponentTypeId = obj.ComponentTypeId;
                    oServiceComponentDto.i_IsVisibleId            = obj.UIIsVisibleId;
                    oServiceComponentDto.i_IsInheritedId          = (int)SiNo.No;
                    oServiceComponentDto.d_StartDate              = null;
                    oServiceComponentDto.d_EndDate      = null;
                    oServiceComponentDto.i_index        = obj.UIIndex;
                    oServiceComponentDto.i_IsDeleted    = (int)SiNo.No;
                    oServiceComponentDto.d_InsertDate   = DateTime.Now;
                    oServiceComponentDto.i_InsertUserId = userId;
                    var porcentajes = obj.Porcentajes.Split('-');

                    float p1 = porcentajes[0] == null || porcentajes[0] == "" ? 0 : float.Parse(porcentajes[0]);
                    float p2 = porcentajes[1] == null || porcentajes[1] == "" ? 0 : float.Parse(porcentajes[1]);

                    var pb = obj.Price;
                    oServiceComponentDto.r_Price                    = pb + (pb * p1 / 100) + (pb * p2 / 100);
                    oServiceComponentDto.r_Price                    = SetNewPrice(oServiceComponentDto.r_Price, obj.ComponentId);
                    oServiceComponentDto.i_IsInvoicedId             = (int)SiNo.No;
                    oServiceComponentDto.i_ServiceComponentStatusId = (int)ServiceStatus.PorIniciar;
                    oServiceComponentDto.i_QueueStatusId            = (int)QueueStatusId.Libre;
                    oServiceComponentDto.i_Iscalling                = (int)FlagCall.NoseLlamo;
                    oServiceComponentDto.i_Iscalling_1              = (int)FlagCall.NoseLlamo;
                    oServiceComponentDto.v_IdUnidadProductiva       = obj.IdUnidadProductiva;

                    var resultplan = new PlanDal().GetPlans(dataService.ProtocolId, obj.IdUnidadProductiva);
                    var tienePlan  = false;
                    if (resultplan.Count > 0)
                    {
                        tienePlan = true;
                    }
                    else
                    {
                        tienePlan = false;
                    }
                    if (tienePlan)
                    {
                        if (resultplan[0].i_EsCoaseguro == 1)
                        {
                            oServiceComponentDto.d_SaldoPaciente    = resultplan[0].d_Importe * decimal.Parse(oServiceComponentDto.r_Price.ToString()) / 100;
                            oServiceComponentDto.d_SaldoAseguradora = decimal.Parse(oServiceComponentDto.r_Price.ToString()) - oServiceComponentDto.d_SaldoPaciente;
                        }
                        if (resultplan[0].i_EsDeducible == 1)
                        {
                            oServiceComponentDto.d_SaldoPaciente    = resultplan[0].d_Importe;
                            oServiceComponentDto.d_SaldoAseguradora = decimal.Parse(oServiceComponentDto.r_Price.ToString()) - resultplan[0].d_Importe;
                        }
                    }

                    //Condicionales
                    var conditional = obj.IsConditionalId;
                    if (conditional == (int)SiNo.Si)
                    {
                        var fechaNacimiento = dataService.FechaNacimiento;
                        //Datos del paciente

                        if (fechaNacimiento != null)
                        {
                            var pacientAge = DateTime.Today.AddTicks(-fechaNacimiento.Ticks).Year - 1;

                            var pacientGender = dataService.GeneroId;

                            //Datos del protocolo
                            int         analyzeAge    = obj.Age.Value;
                            int         analyzeGender = obj.GenderId.Value;
                            var         @operator     = (Operator2Values)obj.OperatorId;
                            GrupoEtario oGrupoEtario  = (GrupoEtario)obj.GrupoEtarioId;
                            if (analyzeAge >= 0)                                   //condicional edad (SI)
                            {
                                if (analyzeGender != (int)GenderConditional.Ambos) //condicional genero (SI)
                                {
                                    if (@operator == Operator2Values.X_esIgualque_A)
                                    {
                                        if (pacientAge == analyzeAge && pacientGender == analyzeGender)
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                        }
                                        else
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                        }
                                    }
                                    if (@operator == Operator2Values.X_esMayorIgualque_A)
                                    {
                                        if (pacientAge >= analyzeAge && pacientGender == analyzeGender)
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                        }
                                        else
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                        }
                                    }
                                    if (@operator == Operator2Values.X_esMayorque_A)
                                    {
                                        if (pacientAge > analyzeAge && pacientGender == analyzeGender)
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                        }
                                        else
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                        }
                                    }
                                    if (@operator == Operator2Values.X_esMenorIgualque_A)
                                    {
                                        if (pacientAge <= analyzeAge && pacientGender == analyzeGender)
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                        }
                                        else
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                        }
                                    }
                                }
                                else//condicional genero (NO)
                                {
                                    if (@operator == Operator2Values.X_esIgualque_A)
                                    {
                                        if (pacientAge == analyzeAge)
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                        }
                                        else
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                        }
                                    }
                                    if (@operator == Operator2Values.X_esMayorIgualque_A)
                                    {
                                        if (pacientAge >= analyzeAge)
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                        }
                                        else
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                        }
                                    }
                                    if (@operator == Operator2Values.X_esMayorque_A)
                                    {
                                        if (pacientAge > analyzeAge)
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                        }
                                        else
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                        }
                                    }
                                    if (@operator == Operator2Values.X_esMenorIgualque_A)
                                    {
                                        if (pacientAge <= analyzeAge)
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                                        }
                                        else
                                        {
                                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        oServiceComponentDto.i_IsRequiredId = (int)SiNo.Si;
                        if (obj.IsAdditional == null)
                        {
                            continue;
                        }
                        var adicional = obj.IsAdditional;
                        if (adicional == 1)
                        {
                            oServiceComponentDto.i_IsRequiredId = (int)SiNo.No;
                        }
                    }

                    oServiceComponentDto.i_ConCargoA         = 0;
                    oServiceComponentDto.i_IsManuallyAddedId = (int)SiNo.No;
                    ctx.ServiceComponent.Add(oServiceComponentDto);
                }
                return(ctx.SaveChanges() > 0);
            }
            catch (Exception)
            {
                return(false);
            }
        }
        public bool SaveUpdateRecipe(BoardPrintRecipes data, int userId, int nodeId)
        {
            try
            {
                DatabaseContext ctx = new DatabaseContext();

                foreach (var item in data.ListProducts)
                {
                    DiagnosticCustom diag = new DiagnosticCustom();
                    diag.ComponentId = item.ComponentId;
                    diag.ServiceId   = data.ServiceId;
                    diag.DiseaseId   = item.DiseaseId;
                    if (item.RecetaId == null)
                    {
                        string diagnosticRespositoryId = new DiagnosticDal().AddDiagnosticRepository(diag, userId, nodeId);
                        if (diagnosticRespositoryId == null)
                        {
                            return(false);
                        }
                        else
                        {
                            item.DiagnosticRespository = diagnosticRespositoryId;
                        }
                    }
                    else
                    {
                        var objReceta = ctx.Receta.Where(x => x.i_IdReceta == item.RecetaId).FirstOrDefault();
                        item.DiagnosticRespository = objReceta.v_DiagnosticRepositoryId;
                    }



                    var  getPlan   = new PlanDal().GetPlan(data.ServiceId, item.IdLinea);
                    bool tienePlan = false;
                    if (getPlan.Count > 0)
                    {
                        tienePlan = true;
                    }

                    if (tienePlan)
                    {
                        if (getPlan[0].i_EsCoaseguro == (int)SiNo.Si)
                        {
                            var planCoaseguro = new PlanDal().GetPlanForImporte(data.ServiceId, item.DiagnosticRespository);
                            if (planCoaseguro.Count > 0)
                            {
                                item.SaldoPaciente    = (planCoaseguro[0].d_ImporteCo / 100) * (item.Price * decimal.Parse(item.Quantity.ToString()));
                                item.SaldoAseguradora = (item.Price * decimal.Parse(item.Quantity.ToString())) - item.SaldoPaciente;
                            }
                        }
                    }
                    else
                    {
                        item.SaldoPaciente = item.Price;
                    }


                    if (item.RecetaId == null)//Creo
                    {
                        RecetaBE _RecetaDto = new RecetaBE();
                        _RecetaDto.v_DiagnosticRepositoryId = item.DiagnosticRespository;
                        _RecetaDto.d_Cantidad           = decimal.Parse(item.Quantity.ToString());
                        _RecetaDto.v_Duracion           = item.Duration;
                        _RecetaDto.v_Posologia          = item.Posologia;
                        _RecetaDto.t_FechaFin           = item.FechaFin;
                        _RecetaDto.v_IdProductoDetalle  = item.ProductoDetalleId;
                        _RecetaDto.v_IdUnidadProductiva = item.IdLinea;
                        _RecetaDto.v_ServiceId          = data.ServiceId;
                        _RecetaDto.d_SaldoPaciente      = item.SaldoPaciente;
                        _RecetaDto.d_SaldoAseguradora   = item.SaldoAseguradora;

                        ctx.Receta.Add(_RecetaDto);
                    }
                    else//Actualizo
                    {
                        var objReceta = ctx.Receta.Where(x => x.i_IdReceta == item.RecetaId).FirstOrDefault();
                        objReceta.v_DiagnosticRepositoryId = item.DiagnosticRespository;
                        objReceta.d_Cantidad           = decimal.Parse(item.Quantity.ToString());
                        objReceta.v_Duracion           = item.Duration;
                        objReceta.v_Posologia          = item.Posologia;
                        objReceta.t_FechaFin           = item.FechaFin;
                        objReceta.v_IdProductoDetalle  = item.ProductoDetalleId;
                        objReceta.v_IdUnidadProductiva = item.IdLinea;
                        objReceta.v_ServiceId          = data.ServiceId;
                        objReceta.d_SaldoPaciente      = item.SaldoPaciente;
                        objReceta.d_SaldoAseguradora   = item.SaldoAseguradora;
                    }
                }


                ctx.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
Example #15
0
 public static List <PlanCustom> GetPlanByProtocolId(string protocolId)
 {
     return(PlanDal.GetPlanByProtocolId(protocolId));
 }
Example #16
0
        public string GetPlan()
        {
            PlanDal Dal = new PlanDal();

            return(Dal.GetPlan());
        }