Exemple #1
0
        private void AddServiceComponentInBlock(string serviceId, string protocolId, string personId, int nodeId, int systemUserId)
        {
            var protocolComponents = new ProtocolComponentDal().GetProtocolComponents(protocolId);

            var listServiceComponentDto = new List <ServiceComponentDto>();

            foreach (var protocolComponent in protocolComponents)
            {
                listServiceComponentDto.Add(PopulateServiceComponentDto(serviceId, personId, protocolComponent, nodeId, systemUserId));
            }

            new ServiceComponentDal().AddServiceComponentInBlock(listServiceComponentDto, nodeId, systemUserId);
        }
        public static MessageCustom DeletedProtocolComponent(string protocolComponentId, int userId)
        {
            MessageCustom msg    = new MessageCustom();
            bool          result = ProtocolComponentDal.DeletedProtocolComponent(protocolComponentId, userId);

            if (result)
            {
                msg.Error   = false;
                msg.Status  = (int)HttpStatusCode.OK;
                msg.Message = "Se eliminó correctamente.";
            }
            else
            {
                msg.Error   = true;
                msg.Status  = (int)HttpStatusCode.OK;
                msg.Message = "Sucedió un error, por favor vuelva intentar.";
            }
            return(msg);
        }
        public static MessageCustom SaveProtocols(ProtocolList data, int userId, int nodeId)
        {
            MessageCustom msg = new MessageCustom();

            try
            {
                using (var ts = new TransactionScope())
                {
                    ProtocolBE protocolEntity = new ProtocolBE();
                    protocolEntity.v_ProtocolId             = data.v_ProtocolId;
                    protocolEntity.v_Name                   = data.v_Name;
                    protocolEntity.v_GroupOccupationId      = data.v_Geso;
                    protocolEntity.v_CustomerOrganizationId = data.v_CustomerOrganizationId.Split('|')[0];
                    protocolEntity.v_CustomerLocationId     = data.v_CustomerOrganizationId.Split('|')[1];
                    protocolEntity.i_MasterServiceTypeId    = data.i_ServiceTypeId;
                    protocolEntity.v_EmployerOrganizationId = data.v_IntermediaryOrganization.Split('|')[0];
                    protocolEntity.v_EmployerLocationId     = data.v_IntermediaryOrganization.Split('|')[1];
                    protocolEntity.i_MasterServiceId        = data.i_MasterServiceId;
                    protocolEntity.v_WorkingOrganizationId  = data.v_WorkingOrganizationId.Split('|')[0];
                    protocolEntity.v_WorkingLocationId      = data.v_WorkingOrganizationId.Split('|')[1];
                    protocolEntity.v_CostCenter             = data.v_CostCenter;
                    protocolEntity.i_EsoTypeId              = data.i_EsoTypeId;
                    protocolEntity.i_IsActive               = data.i_IsActive;
                    protocolEntity.i_HasVigency             = (int)SiNo.No;
                    protocolEntity.r_PriceFactor            = data.r_PriceFactor == null ? 0 : data.r_PriceFactor;
                    protocolEntity.r_MedicineDiscount       = data.r_MedicineDiscount == null ? 0 : data.r_MedicineDiscount;
                    protocolEntity.r_HospitalBedPrice       = data.r_HospitalBedPrice == null ? 0 : data.r_HospitalBedPrice;
                    protocolEntity.r_ClinicDiscount         = data.r_ClinicDiscount == null ? 0 : data.r_ClinicDiscount;
                    protocolEntity.r_DiscountExam           = data.r_DiscountExam == null ? 0 : data.r_DiscountExam;

                    List <ProtocolComponentDto> ListProtocolComponentCreate = new List <ProtocolComponentDto>();
                    List <ProtocolComponentDto> ListProtocolComponentUpdate = new List <ProtocolComponentDto>();

                    if (data.ListComponents != null)
                    {
                        foreach (var obj in data.ListComponents)
                        {
                            ProtocolComponentDto objProtComp = new ProtocolComponentDto();
                            objProtComp.v_ProtocolComponentId = obj.v_ProtocolComponentId;
                            objProtComp.v_ComponentId         = obj.v_ComponentId;
                            objProtComp.r_Price               = obj.r_Price;
                            objProtComp.i_OperatorId          = obj.i_OperadorId;
                            objProtComp.i_Age                 = obj.i_Edad;
                            objProtComp.i_GenderId            = obj.i_GenderId;
                            objProtComp.i_GrupoEtarioId       = obj.i_GrupoEtario;
                            objProtComp.i_IsConditionalId     = obj.i_IsConditional;
                            objProtComp.i_IsConditionalIMC    = obj.i_IsIMC;
                            objProtComp.r_Imc                 = obj.r_ValueIMC;
                            objProtComp.i_IsAdditional        = obj.i_IsAditional;
                            objProtComp.v_ProtocolComponentId = obj.v_ProtocolComponentId;
                            if (obj.RecordStatus == (int)RecordStatus.Agregado && obj.RecordType == (int)RecordType.Temporal || obj.v_ProtocolComponentId == null)
                            {
                                ListProtocolComponentCreate.Add(objProtComp);
                            }
                            else if (obj.RecordStatus == (int)RecordStatus.Editado && obj.RecordType == (int)RecordType.NoTemporal || obj.v_ProtocolComponentId != null)
                            {
                                ListProtocolComponentUpdate.Add(objProtComp);
                            }
                        }
                    }


                    string protocolId = null;
                    if (data.v_ProtocolId == null)
                    {
                        protocolId = ProtocolDal.AddProtocol(protocolEntity, ListProtocolComponentCreate, nodeId, userId);
                        bool resultProtComp = ProtocolComponentDal.UpdateProtocolComponent(ListProtocolComponentUpdate, userId);
                        if (!resultProtComp)
                        {
                            return(null);
                        }
                    }
                    else
                    {
                        protocolId = ProtocolDal.UpdateProtocol(protocolEntity, ListProtocolComponentCreate, ListProtocolComponentUpdate, userId, nodeId);
                    }
                    if (protocolId == null)
                    {
                        msg.Error   = true;
                        msg.Status  = (int)HttpStatusCode.Conflict;
                        msg.Message = "Sucedió un error al crear el protocolo, por favor vuelva intentar.";
                        throw new Exception("");
                    }
                    else
                    {
                        msg.Error   = false;
                        msg.Id      = protocolId;
                        msg.Status  = (int)HttpStatusCode.Created;
                        msg.Message = "El protocolo se creó correctamente.";
                    }
                    ts.Complete();
                }
                return(msg);
            }
            catch (Exception ex)
            {
                msg.Error   = true;
                msg.Status  = (int)HttpStatusCode.Conflict;
                msg.Message = "Sucedió un error al crear el protocolo, por favor vuelva intentar.";
                return(msg);
            }
        }
Exemple #4
0
        public string CreateService(ServiceCustom data, int nodeId, int userId)
        {
            string serviceId = "";
            List <ProtocolComponentCustom> ListProtocolComponent = new ProtocolComponentDal().GetProtocolComponents(data.ProtocolId);

            if (data.FechaCalendario == null)
            {
                data.ProtocolId = new ProtocolBL().ReturnOrDuplicateProtocol(data, nodeId, userId, ListProtocolComponent);
            }

            serviceId = new ServiceDal().CreateService(data, nodeId, userId);
            if (serviceId == null)
            {
                return(null);
            }



            data.ServiceId = serviceId;

            if (data.MasterServiceTypeId == (int)MasterServiceType.Empresarial)
            {
                bool result = new ServiceComponentDal().AddServiceComponent(ListProtocolComponent, data, nodeId, userId);
                if (!result)
                {
                    return(null);
                }
            }
            else
            {
                bool result = new ServiceComponentDal().AddServiceComponent(ListProtocolComponent, data, nodeId, userId);
                if (!result)
                {
                    return(null);
                }
            }

            CalendarDto _CalendarDto = new CalendarDto();

            _CalendarDto.v_PersonId          = data.PersonId;
            _CalendarDto.v_ServiceId         = data.ServiceId;
            _CalendarDto.v_PersonId          = data.PersonId;
            _CalendarDto.d_DateTimeCalendar  = data.FechaCalendario == null ? DateTime.Now : data.FechaCalendario;
            _CalendarDto.d_CircuitStartDate  = data.FechaCalendario == null ? DateTime.Now : data.FechaCalendario;
            _CalendarDto.d_EntryTimeCM       = data.FechaCalendario == null ? DateTime.Now : data.FechaCalendario;
            _CalendarDto.i_ServiceTypeId     = data.MasterServiceTypeId;
            _CalendarDto.i_CalendarStatusId  = 1;
            _CalendarDto.i_ServiceId         = data.MasterServiceId;
            _CalendarDto.v_ProtocolId        = data.ProtocolId;
            _CalendarDto.i_NewContinuationId = 1;
            _CalendarDto.i_LineStatusId      = 1;
            _CalendarDto.i_IsVipId           = 0;

            bool calendarResult = new CalendarDal().AddCalendar(_CalendarDto, nodeId, userId);

            if (!calendarResult)
            {
                return(null);
            }
            int tipoEmpresa = ProtocolDal.ObtenerTipoEmpresaByProtocol(data.ProtocolId);

            if ((data.MasterServiceId == 19 || data.MasterServiceId == 10 || data.MasterServiceId == 15 || data.MasterServiceId == 16 || data.MasterServiceId == 17 || data.MasterServiceId == 18 || data.MasterServiceId == 19) && tipoEmpresa == 4)
            {
                bool resultHospi = new HospitalizacionDal().AddHospitalizacion(data.PersonId, data.ServiceId, nodeId, userId);
                if (!resultHospi)
                {
                    return(null);
                }
            }

            return(serviceId);
        }