private async Task <IWrappedResponse> CreateAction(MainRule rule)
        {
            var task = Task <IWrappedResponse> .Factory.StartNew(() =>
            {
                var request = rule.Context.Parent;

                var partnerDirectory = rule.Context.PartnerDirectory;

                var customerPartnerDirectoryAccess = new Olma.CustomerPartnerDirectoryAccess
                {
                    Partner     = Mapper.Map <Olma.CustomerPartner>(request),
                    DirectoryId = partnerDirectory.Id,
                    Directory   = partnerDirectory,
                };

                customerPartnerDirectoryAccess.Partner.Address = Mapper.Map <Olma.Address>(request.Address);

                _customerPartnerDirectoryAccessRepo.Create(customerPartnerDirectoryAccess);
                _customerPartnerDirectoryAccessRepo.Save();

                var responseData = Mapper.Map <Olma.CustomerPartner, CustomerPartner>(customerPartnerDirectoryAccess.Partner);
                return(Created(responseData));
            });

            return(await task);
        }
Пример #2
0
        public bool ExistenHuellasImputado(ComparationRequest[] Huellas)
        {
            if (Huellas == null)
            {
                return(false);
            }

            if (!Huellas.Any())
            {
                return(false);
            }

            var list = new MainRule <IMPUTADO_BIOMETRICO>().Listado().Where(w => w.ID_FORMATO == (short)enumTipoFormato.FMTO_DP && w.CALIDAD > 0 && w.BIOMETRICO != null).AsEnumerable().Select(s => new
            {
                IMPUTADO = new cHuellasImputado {
                    ID_ANIO = s.ID_ANIO, ID_CENTRO = s.ID_CENTRO, ID_IMPUTADO = s.ID_IMPUTADO
                },
                FMD = Importer.ImportFmd(s.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data
            })
                       .ToList();


            foreach (var item in Huellas)
            {
                if (item.BIOMETRICO.Length <= 0)
                {
                    continue;
                }

                var identify = true;

                var doIdentify = Comparison.Identify(Importer.ImportFmd(item.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data, 0, list.Where(w => w.FMD != null).Select(s => s.FMD), (0x7fffffff / 100000), 10);

                if (doIdentify.ResultCode != Constants.ResultCode.DP_SUCCESS)
                {
                    identify = false;
                }

                if (doIdentify.Indexes.Count() > 0)
                {
                    identify = true;
                }
                else
                {
                    identify = false;
                }

                if (!identify)
                {
                    return(false);
                }
            }
            return(true);
        }
Пример #3
0
        public CompareResponsePersona CompararHuellaPersona(ComparationRequest DataCompare)
        {
            var resultset = new CompareResponsePersona();

            try
            {
                var identify = true;
                var result   = new List <cHuellasPersona>();
                var list     = new MainRule <PERSONA_BIOMETRICO>().Listado()
                               .Where(w => w.ID_TIPO_BIOMETRICO == (short)DataCompare.ID_TIPO_BIOMETRICO && (DataCompare.ID_TIPO_PERSONA.HasValue ? w.PERSONA.ID_TIPO_PERSONA == (short?)DataCompare.ID_TIPO_PERSONA : w.PERSONA.ID_TIPO_PERSONA != null) && w.ID_FORMATO == (short)DataCompare.ID_TIPO_FORMATO)
                               .AsEnumerable()
                               .Select(s => new
                {
                    PERSONA = new cHuellasPersona {
                        ID_PERSONA = s.ID_PERSONA, NORIGINAL = s.NORIGINAL
                    },
                    FMD = Importer.ImportFmd(s.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data
                })
                               .ToList();
                var _lista_filtrada = list.Where(w => w.FMD != null);
                var doIdentify      = Comparison.Identify(Importer.ImportFmd(DataCompare.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data, 0, _lista_filtrada.Select(s => s.FMD), (0x7fffffff / 100000), 10);

                if (doIdentify.ResultCode != Constants.ResultCode.DP_SUCCESS)
                {
                    identify = false;
                }
                if (doIdentify.Indexes.Count() > 0)
                {
                    foreach (var item in doIdentify.Indexes.ToList())
                    {
                        result.Add(_lista_filtrada.ElementAt(item.FirstOrDefault()).PERSONA);
                    }
                    identify = true;
                }
                else
                {
                    identify = false;
                }

                resultset.Identify = identify;
                resultset.Result   = result;
            }
            catch
            {
                resultset.Identify = false;
                resultset.Result   = new List <cHuellasPersona>();

                return(resultset);
            }
            return(resultset);
        }
Пример #4
0
 public bool ActualizarHuellasImputado(IMPUTADO_BIOMETRICO[] Data)
 {
     try
     {
         var rleImputado = new MainRule <IMPUTADO_BIOMETRICO>();
         rleImputado.Actualizar(Data);
         return(true);
     }
     catch
     {
         RollBackImputado(Data.FirstOrDefault());
         return(false);
     }
 }
Пример #5
0
        //public byte[] DescargarBMP(short ID_CENTRO, short ID_ANIO, int ID_IMPUTADO, enumTipoBiometrico Dedo)
        //{
        //    try
        //    {
        //        var rleImputado = new MainRule<IMPUTADO_BIOMETRICO>();
        //        var ByteBMP = rleImputado.Listado().Where(w => w.ID_CENTRO == ID_CENTRO && w.ID_ANIO == ID_ANIO && w.ID_IMPUTADO == ID_IMPUTADO && w.ID_TIPO_BIOMETRICO == (short)Dedo && w.ID_FORMATO == (short)Formato).SingleOrDefault().BIOMETRICO;
        //        if (ByteBMP == null)
        //            return null;
        //        return ByteBMP;
        //    }
        //    catch
        //    {
        //        return null;
        //    }
        //}
        #endregion

        #region [IMPUTADO]
        public bool InsertarHuellaImputado(IMPUTADO_BIOMETRICO Data)
        {
            try
            {
                var rleImputado = new MainRule <IMPUTADO_BIOMETRICO>();
                rleImputado.Insertar(Data);
                return(true);
            }
            catch
            {
                RollBackImputado(Data);
                return(false);
            }
        }
Пример #6
0
 public bool ActualizarHuellasPersona(PERSONA_BIOMETRICO[] Data)
 {
     try
     {
         var rlePersona = new MainRule <PERSONA_BIOMETRICO>();
         rlePersona.Actualizar(Data);
         return(true);
     }
     catch
     {
         RollBackPersona(Data.FirstOrDefault());
         return(false);
     }
 }
Пример #7
0
 public bool InsertarHuellaPersona(PERSONA_BIOMETRICO Data)
 {
     try
     {
         var rlePersona = new MainRule <PERSONA_BIOMETRICO>();
         rlePersona.Insertar(Data);
         return(true);
     }
     catch
     {
         RollBackPersona(Data);
         return(false);
     }
 }
Пример #8
0
        public CompareResponseImputado CompararHuellaImputado(ComparationRequest DataCompare)
        {
            var resultset = new CompareResponseImputado();

            try
            {
                var identify = true;
                var result   = new List <cHuellasImputado>();
                var list     = new MainRule <IMPUTADO_BIOMETRICO>().Listado().Where(w => w.ID_TIPO_BIOMETRICO == (short)DataCompare.ID_TIPO_BIOMETRICO && w.ID_FORMATO == (short)DataCompare.ID_TIPO_FORMATO && w.CALIDAD > 0 && w.BIOMETRICO != null).AsEnumerable().Select(s => new
                {
                    IMPUTADO = new cHuellasImputado {
                        ID_ANIO = s.ID_ANIO, ID_CENTRO = s.ID_CENTRO, ID_IMPUTADO = s.ID_IMPUTADO
                    },
                    FMD = Importer.ImportFmd(s.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data
                })
                               .Where(w => w.FMD != null)
                               .ToList();

                var doIdentify = Comparison.Identify(Importer.ImportFmd(DataCompare.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data, 0, list.Select(s => s.FMD), (0x7fffffff / 100000), 10);

                if (doIdentify.ResultCode != Constants.ResultCode.DP_SUCCESS)
                {
                    identify = false;
                }
                if (doIdentify.Indexes.Count() > 0)
                {
                    foreach (var item in doIdentify.Indexes.ToList())
                    {
                        result.Add(list[item.FirstOrDefault()].IMPUTADO);
                    }
                    identify = true;
                }
                else
                {
                    identify = false;
                }

                resultset.Identify = identify;
                resultset.Result   = result;
            }
            catch (Exception ex)
            {
                resultset.Identify     = false;
                resultset.Result       = new List <cHuellasImputado>();
                resultset.MensajeError = ex.InnerException.Message;
                return(resultset);
            }
            return(resultset);
        }
Пример #9
0
        public bool RollBackPersona(PERSONA_BIOMETRICO Data)
        {
            try
            {
                if (Data == null)
                {
                    return(false);
                }

                var rlePersona = new MainRule <PERSONA_BIOMETRICO>();
                rlePersona.Eliminar(rlePersona.Listado().Where(w => w.ID_PERSONA == Data.ID_PERSONA).ToList());
                return(true);
            }
            catch { return(false); }
        }
Пример #10
0
        public bool RollBackImputado(IMPUTADO_BIOMETRICO Data)
        {
            try
            {
                if (Data == null)
                {
                    return(false);
                }

                var rleImputado = new MainRule <IMPUTADO_BIOMETRICO>();
                rleImputado.Eliminar(rleImputado.Listado().Where(w => w.ID_ANIO == Data.ID_ANIO && w.ID_CENTRO == Data.ID_CENTRO && w.ID_IMPUTADO == Data.ID_IMPUTADO).ToList());
                return(true);
            }
            catch { return(false); }
        }
Пример #11
0
 public byte[] DescargarWSQ(short ID_CENTRO, short ID_ANIO, int ID_IMPUTADO, enumTipoBiometrico Dedo, enumTipoFormato Formato)
 {
     try
     {
         var rleImputado = new MainRule <IMPUTADO_BIOMETRICO>();
         var ByteWSQ     = rleImputado.Listado().Where(w => w.ID_CENTRO == ID_CENTRO && w.ID_ANIO == ID_ANIO && w.ID_IMPUTADO == ID_IMPUTADO && w.ID_TIPO_BIOMETRICO == (short)Dedo && w.ID_FORMATO == (short)Formato).SingleOrDefault().BIOMETRICO;
         if (ByteWSQ == null)
         {
             return(null);
         }
         return(ByteWSQ);
     }
     catch
     {
         return(null);
     }
 }
Пример #12
0
    // Use this for initialization
    void Start()
    {
        Id = photonView.ownerId;

        Debug.Log (Id);

        if(1 == Id % 2){
            Color = "BLACK";
            LeadTurn = true;
        }else{
            Color = "WHITE";
        }

        gameObject.name = gameObject.name + Id;
        Rule = GetComponent<MainRule>();

        if(photonView.isMine){
            this.enabled = false;
        }
    }
Пример #13
0
        public CompareResponseImputado CompararHuellaImputadoPorUbicacion(ComparationRequest DataCompare)
        {
            var resultset = new CompareResponseImputado();

            try
            {
                var identify  = true;
                var result    = new List <cHuellasImputado>();
                var predicate = PredicateBuilder.True <IMPUTADO_BIOMETRICO>();
                //predicate = predicate.And(w => w.ID_TIPO_BIOMETRICO == (short)DataCompare.ID_TIPO_BIOMETRICO && w.ID_FORMATO == (short)DataCompare.ID_TIPO_FORMATO && w.CALIDAD > 0);
                //predicate = predicate.And(w => (w.ID_TIPO_BIOMETRICO >= 0 && w.ID_TIPO_BIOMETRICO <= 9) && w.ID_FORMATO == (short)DataCompare.ID_TIPO_FORMATO && w.CALIDAD > 0 && w.BIOMETRICO != null);
                predicate = predicate.And(w => (w.TOMA == "S") && w.ID_FORMATO == (short)DataCompare.ID_TIPO_FORMATO && w.CALIDAD > 0 && w.BIOMETRICO != null);
                if (DataCompare.ID_CENTRO.HasValue && DataCompare.ID_EDIFICIO.HasValue && DataCompare.ID_SECTOR.HasValue)
                {
                    predicate = predicate.And(w => w.IMPUTADO.INGRESO.Any(a => a.ID_ESTATUS_ADMINISTRATIVO != 5 && a.ID_ESTATUS_ADMINISTRATIVO != 6 &&
                                                                          a.ID_ESTATUS_ADMINISTRATIVO != 7 && a.ID_ESTATUS_ADMINISTRATIVO != 4 && a.ID_UB_CENTRO == DataCompare.ID_CENTRO && a.ID_UB_EDIFICIO == DataCompare.ID_EDIFICIO && a.ID_UB_SECTOR == DataCompare.ID_SECTOR));
                }
                else if (DataCompare.ID_CENTRO.HasValue && DataCompare.ID_EDIFICIO.HasValue)
                {
                    predicate = predicate.And(w => w.IMPUTADO.INGRESO.Any(a => a.ID_ESTATUS_ADMINISTRATIVO != 5 && a.ID_ESTATUS_ADMINISTRATIVO != 6 &&
                                                                          a.ID_ESTATUS_ADMINISTRATIVO != 7 && a.ID_ESTATUS_ADMINISTRATIVO != 4 && a.ID_UB_CENTRO == DataCompare.ID_CENTRO && a.ID_UB_EDIFICIO == DataCompare.ID_EDIFICIO));
                }
                else if (DataCompare.ID_CENTRO.HasValue)
                {
                    predicate = predicate.And(w => w.IMPUTADO.INGRESO.Any(a => a.ID_ESTATUS_ADMINISTRATIVO != 5 && a.ID_ESTATUS_ADMINISTRATIVO != 6 &&
                                                                          a.ID_ESTATUS_ADMINISTRATIVO != 7 && a.ID_ESTATUS_ADMINISTRATIVO != 4 && a.ID_UB_CENTRO == DataCompare.ID_CENTRO));
                }

                var list = new MainRule <IMPUTADO_BIOMETRICO>().Listado().AsExpandable().Where(predicate).AsEnumerable().Select(s => new
                {
                    IMPUTADO = new cHuellasImputado {
                        ID_ANIO = s.ID_ANIO, ID_CENTRO = s.ID_CENTRO, ID_IMPUTADO = s.ID_IMPUTADO
                    },
                    FMD = Importer.ImportFmd(s.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data
                })
                           .Where(w => w.FMD != null)
                           .ToList();

                var doIdentify = Comparison.Identify(Importer.ImportFmd(DataCompare.BIOMETRICO, Constants.Formats.Fmd.ANSI, Constants.Formats.Fmd.ANSI).Data, 0, list.Select(s => s.FMD), (0x7fffffff / 100000), 10);

                if (doIdentify.ResultCode != Constants.ResultCode.DP_SUCCESS)
                {
                    identify = false;
                }
                if (doIdentify.Indexes != null)
                {
                    if (doIdentify.Indexes.Count() > 0)
                    {
                        foreach (var item in doIdentify.Indexes.ToList())
                        {
                            result.Add(list[item.FirstOrDefault()].IMPUTADO);
                        }
                        identify = true;
                    }
                    else
                    {
                        identify = false;
                    }
                }
                else
                {
                    identify = false;
                }
                resultset.Identify = identify;
                resultset.Result   = result;
            }
            catch (Exception ex)
            {
                resultset.Identify     = false;
                resultset.Result       = new List <cHuellasImputado>();
                resultset.MensajeError = ex.InnerException.Message;
                return(resultset);
            }
            return(resultset);
        }