public static string UpdateProtocol(ProtocolBE protocolBE, List <ProtocolComponentDto> ListProtCompCreate, List <ProtocolComponentDto> ListProtCompUpdate, int userId, int nodeId) { try { DatabaseContext cnx = new DatabaseContext(); var objProtocol = cnx.Protocol.Where(x => x.v_ProtocolId == protocolBE.v_ProtocolId).FirstOrDefault(); objProtocol.v_Name = protocolBE.v_Name; objProtocol.v_GroupOccupationId = protocolBE.v_GroupOccupationId; objProtocol.v_CustomerOrganizationId = protocolBE.v_CustomerOrganizationId; objProtocol.v_CustomerLocationId = protocolBE.v_CustomerLocationId; objProtocol.i_MasterServiceTypeId = protocolBE.i_MasterServiceTypeId; objProtocol.v_EmployerOrganizationId = protocolBE.v_EmployerOrganizationId; objProtocol.v_EmployerLocationId = protocolBE.v_EmployerLocationId; objProtocol.i_MasterServiceId = protocolBE.i_MasterServiceId; objProtocol.v_WorkingOrganizationId = protocolBE.v_WorkingOrganizationId; objProtocol.v_WorkingLocationId = protocolBE.v_WorkingLocationId; objProtocol.v_CostCenter = protocolBE.v_CostCenter; objProtocol.i_EsoTypeId = protocolBE.i_EsoTypeId; objProtocol.i_IsActive = protocolBE.i_IsActive; objProtocol.r_PriceFactor = protocolBE.r_PriceFactor; objProtocol.r_HospitalBedPrice = protocolBE.r_HospitalBedPrice; objProtocol.r_DiscountExam = protocolBE.r_DiscountExam; objProtocol.r_MedicineDiscount = protocolBE.r_MedicineDiscount; objProtocol.i_UpdateUserId = userId; objProtocol.d_UpdateDate = DateTime.Now; cnx.SaveChanges(); if (ListProtCompCreate.Count > 0) { var result = ProtocolComponentDal.AddProtocolComponent(ListProtCompCreate, objProtocol.v_ProtocolId, userId, nodeId); if (!result) { return(null); } } if (ListProtCompUpdate.Count > 0) { var result = ProtocolComponentDal.UpdateProtocolComponent(ListProtCompUpdate, userId); if (!result) { return(null); } } return(objProtocol.v_ProtocolId); } catch (Exception ex) { return(null); } }
public string ReturnOrDuplicateProtocol(ServiceCustom data, int nodeId, int userId, List <ProtocolComponentCustom> ListProtocolComponent) { try { if (ListProtocolComponent == null) { return(null); } var id = data.DataProtocol.EmpresaEmpleadora.Split('|'); var id1 = data.DataProtocol.EmpresaCliente.Split('|'); var id2 = data.DataProtocol.EmpresaTrabajo.Split('|'); var masterServiceTypeId = data.DataProtocol.i_MasterServiceTypeId; var masterServiceId = data.DataProtocol.i_MasterServiceId; var groupOccupationName = data.DataProtocol.Geso; var esoTypeId = data.DataProtocol.i_EsoTypeId; bool ExisteProtocolo = ProtocolDal.ExisteProtocoloPropuestoSegunLaEmpresa(id[0], masterServiceTypeId, masterServiceId, groupOccupationName, esoTypeId); if (!ExisteProtocolo) { ProtocolBE _ProtocolBE = new ProtocolBE(); var sufProtocol = data.DataProtocol.EmpresaEmpleadoraName.Split('/'); _ProtocolBE.v_Name = data.DataProtocol.ProtocolName + " " + sufProtocol[0].ToString(); _ProtocolBE.v_EmployerOrganizationId = id[0]; _ProtocolBE.v_EmployerLocationId = id[1]; _ProtocolBE.i_EsoTypeId = data.DataProtocol.i_EsoTypeId; //obtener GESO var gesoId = new OrganizationDal().GetGroupOcupation(id[1], groupOccupationName); _ProtocolBE.v_GroupOccupationId = gesoId; _ProtocolBE.v_CustomerOrganizationId = id1[0]; _ProtocolBE.v_CustomerLocationId = id1[1]; _ProtocolBE.v_WorkingOrganizationId = id2[0]; _ProtocolBE.v_WorkingLocationId = data.DataProtocol.EmpresaEmpleadora != "-1" ? id2[1] : "-1"; _ProtocolBE.i_MasterServiceId = masterServiceId; _ProtocolBE.v_CostCenter = string.Empty; _ProtocolBE.i_MasterServiceTypeId = masterServiceTypeId; _ProtocolBE.i_HasVigency = 1; _ProtocolBE.i_ValidInDays = null; _ProtocolBE.i_IsActive = 1; _ProtocolBE.v_NombreVendedor = string.Empty; List <ProtocolComponentDto> ListProtocolComponentDto = new List <ProtocolComponentDto>(); foreach (var objProtCom in ListProtocolComponent) { ProtocolComponentDto _ProtocolComponentDto = new ProtocolComponentDto(); _ProtocolComponentDto.v_ComponentId = objProtCom.ComponentId; _ProtocolComponentDto.r_Price = objProtCom.Price; _ProtocolComponentDto.i_OperatorId = objProtCom.OperatorId; _ProtocolComponentDto.i_Age = objProtCom.Age; _ProtocolComponentDto.i_GenderId = objProtCom.GenderId; _ProtocolComponentDto.i_IsAdditional = objProtCom.IsAdditional; _ProtocolComponentDto.i_IsConditionalId = objProtCom.IsConditionalId; _ProtocolComponentDto.i_GrupoEtarioId = objProtCom.GrupoEtarioId; _ProtocolComponentDto.i_IsConditionalIMC = objProtCom.IsConditionalIMC; _ProtocolComponentDto.r_Imc = objProtCom.Imc; ListProtocolComponentDto.Add(_ProtocolComponentDto); } string protocolId = ProtocolDal.AddProtocol(_ProtocolBE, ListProtocolComponentDto, nodeId, userId); if (protocolId == null) { return(null); } var ListUser = ProtocolDal.GetSystemUserSigesoft(); var extUserWithCustomer = ListUser.FindAll(p => p.v_SystemUserByOrganizationId == id1[0]).ToList(); var extUserWithEmployer = ListUser.FindAll(p => p.v_SystemUserByOrganizationId == id[0]).ToList(); var extUserWithWorking = ListUser.FindAll(p => p.v_SystemUserByOrganizationId == id2[0]).ToList(); foreach (var extUs in extUserWithCustomer) { var ListUserExter = ProtocolDal.GetProtocolSystemUser(extUs.i_SystemUserId); var list = new List <ProtocolSystemUserBE>(); foreach (var perm in ListUserExter) { var oProtocolSystemUserBEo = new ProtocolSystemUserBE(); oProtocolSystemUserBEo.i_SystemUserId = extUs.i_SystemUserId; oProtocolSystemUserBEo.v_ProtocolId = protocolId; oProtocolSystemUserBEo.i_ApplicationHierarchyId = perm.i_ApplicationHierarchyId; list.Add(oProtocolSystemUserBEo); } bool resultUs = ProtocolDal.AddProtocolSystemUser(list, userId, nodeId); if (!resultUs) { return(null); } } foreach (var extUs in extUserWithEmployer) { var ListUserExter = ProtocolDal.GetProtocolSystemUser(extUs.i_SystemUserId); var list = new List <ProtocolSystemUserBE>(); foreach (var perm in ListUserExter) { var oProtocolSystemUserBEo = new ProtocolSystemUserBE(); oProtocolSystemUserBEo.i_SystemUserId = extUs.i_SystemUserId; oProtocolSystemUserBEo.v_ProtocolId = protocolId; oProtocolSystemUserBEo.i_ApplicationHierarchyId = perm.i_ApplicationHierarchyId; list.Add(oProtocolSystemUserBEo); } bool resultUs = ProtocolDal.AddProtocolSystemUser(list, userId, nodeId); if (!resultUs) { return(null); } } foreach (var extUs in extUserWithWorking) { var ListUserExter = ProtocolDal.GetProtocolSystemUser(extUs.i_SystemUserId); var list = new List <ProtocolSystemUserBE>(); foreach (var perm in ListUserExter) { var oProtocolSystemUserBEo = new ProtocolSystemUserBE(); oProtocolSystemUserBEo.i_SystemUserId = extUs.i_SystemUserId; oProtocolSystemUserBEo.v_ProtocolId = protocolId; oProtocolSystemUserBEo.i_ApplicationHierarchyId = perm.i_ApplicationHierarchyId; list.Add(oProtocolSystemUserBEo); } bool resultUs = ProtocolDal.AddProtocolSystemUser(list, userId, nodeId); if (!resultUs) { return(null); } } return(protocolId); } else { return(data.ProtocolId); } } catch (Exception ex) { return(null); } }
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); } }