public override object ExecuteCommand(InCourseRequest inCourseRequest) { PartyEntity request = new PartyEntity(); request.IdPartyType = IdPartyType; request.Name = Name; request.MarketCustomerNumber = MarketCustomerNumber; request.DocumentNumber = DocumentNumber; request.IdLegalPersonality = IdLegalPersonality; request.TaxIdentificationNumber = TaxIdentificationNumber; List <int> listParties = GetParents(Parties); foreach (int IdFather in listParties) { var IdPartyTypeFather = (from d in context.Persona where d.IdParty == IdFather select d).FirstOrDefault().IdPartyType; if ((IdPartyType == (byte)TipoPersona.CLIENTE && (IdPartyTypeFather == (byte)TipoPersona.NEGOCIADOR || IdPartyTypeFather == (byte)TipoPersona.LIQUIDADOR)) || (IdPartyType == (byte)TipoPersona.NEGOCIADOR && IdPartyTypeFather == (byte)TipoPersona.LIQUIDADOR)) { PartyHierarchyEntity father = new PartyHierarchyEntity() { IdPartyFather = IdFather, Party = request }; request.PartyItems.Add(father); } } Message = (listParties.Count() == request.PartyItems.Count) ? "" : "La nueva persona no pudo ser asociada a algunas de las otras personas."; request.Phone = Phone; this.AgregarAlContextoParaAlta(request); return(ExecutionResult.ReturnInmediatelyAndQueueOthers(new { Ok = true, Message })); }
public override object ExecuteCommand(InCourseRequest inCourseRequest) { var entidad = (from d in context.Persona where d.IdParty == r_id select d); ValidateExiste(entidad.Count(), r_id, CodigosMensajes.FE_ACTUALIZA_NO_EXISTE); PartyEntity request = entidad.FirstOrDefault(); request.IdPartyType = IdPartyType; request.Name = Name; request.MarketCustomerNumber = MarketCustomerNumber; request.DocumentNumber = DocumentNumber; request.IdLegalPersonality = IdLegalPersonality; request.TaxIdentificationNumber = TaxIdentificationNumber; /*if (IdTipoPersona == (byte)TipoPersona.CLIENTE && IdEmpresa.HasValue) * request.IdEmpresa = IdEmpresa.Value; * else * request.IdEmpresa = null;*/ List <int> IdParties = GetParents(Parties); string parties = string.Empty; foreach (int IdPartyFather in IdParties) { var entidades = (from d in context.PartyHierarchyEntities where d.IdPartyHijo == r_id && d.IdPartyFather == IdPartyFather select d).ToList(); if (entidades.Count() == 0) { var padre = (from d in context.Persona where d.IdParty == IdPartyFather select d).FirstOrDefault(); if ((IdPartyType == (byte)TipoPersona.CLIENTE && (padre.IdPartyType == (byte)TipoPersona.NEGOCIADOR || padre.IdPartyType == (byte)TipoPersona.LIQUIDADOR)) || (IdPartyType == (byte)TipoPersona.NEGOCIADOR && padre.IdPartyType == (byte)TipoPersona.LIQUIDADOR)) { PartyHierarchyEntity father = new PartyHierarchyEntity() { IdPartyFather = IdPartyFather, Party = request }; this.AgregarAlContextoParaAlta(father); } else { parties += padre.Name + ", "; } } } foreach (PartyHierarchyEntity r in context.PartyHierarchyEntities.Where(p => ((!Parties.Contains(p.IdPartyFather.ToString()) || string.IsNullOrEmpty(Parties)) && p.IdPartyHijo == r_id))) { context.Remove(r); request.PartyItems.Remove(r); } Message = (IdParties.Count() == request.PartyItems.Count) ? "" : "No se pudo asociar la persona a algunas de las otras personas seleccionadas: " + parties.Substring(0, parties.Length - 2); request.Phone = Phone; return(ExecutionResult.ReturnInmediatelyAndQueueOthers(new { Ok = true, Message })); }
public static void Login(InfoCliente infoCliente, UsuarioEntity datosLogin, bool isPassHash = false, TipoAplicacion idAplicacion = TipoAplicacion.ORDENES) { UsuarioEntity usuario = ValidateUser(datosLogin.Username); UsuarioEntity partyFather = new UsuarioEntity(); var configuracionSeguridad = CachingManager.Instance.GetConfiguracionSeguridad(); ValidarAccesoAlSistema(usuario.IdUsuario); string userPass = isPassHash ? datosLogin.Pass : MAETools.HashMD5(datosLogin.Pass); if (usuario.Pass != userPass) { ManejarErrorDeAutenticacion(usuario, configuracionSeguridad, idAplicacion); } ValidarReseteoPassword(usuario); ValidarDiasCambioPassword(configuracionSeguridad.DiasCambioPassword, usuario); UserHelper.ValidaUsuarioActivo(configuracionSeguridad.MaximoDiasInactividad, usuario); if (usuario.Expiracion.HasValue && usuario.Expiracion.Value.Date <= DateTime.Now) { UserHelper.BlockUsuarios(usuario.IdUsuario, (byte)LogCodigoAccionSeguridad.UsuarioBloqueadoPorCtaExpirada); AdministradorControlErrores.EnviarExcepcion(CodeMensajes.ERR_CUENTA_EXPIRADA, false, usuario.Username); } if (usuario.Proceso) { SessionHelper.InitSession(infoCliente, usuario, idAplicacion); } if (datosLogin.Agencia != null) { using (OrdenesContext mcc = new OrdenesContext()) { partyFather = (from d in mcc.Usuario where d.Username.Equals(datosLogin.Agencia) select d).FirstOrDefault(); PartyHierarchyEntity ph = (from d in mcc.PartyHierarchyEntities where d.IdPartyFather.Equals(partyFather.IdPersona) && d.IdPartyHijo.Equals(usuario.IdPersona) select d).FirstOrDefault(); if (ph == null) { AdministradorControlErrores.EnviarExcepcion(CodeMensajes.ERR_USUARIO_NO_HABILITADO_AGENCIA, false, usuario.Username, usuario.Agencia); } } } }