public HttpResponseMessage RegisterDevice([FromBody] RegisterDevice device)
        {
            HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);

            if (string.IsNullOrEmpty(device.Codigo) || string.IsNullOrEmpty(device.Email) || string.IsNullOrEmpty(device.User) || string.IsNullOrEmpty(device.Dni))
            {
                response         = new HttpResponseMessage(HttpStatusCode.BadRequest);
                response.Content = new StringContent(EngineData.modeloImcompleto, Encoding.Unicode);
                return(response);
            }

            Company company = Metodo.GetCompanyCodigo(device.Codigo); //Obtiene el codigo de la empresa

            if (company == null || company.Id == 0)
            {
                response.Content = new StringContent("No existe el codigo ingresado", Encoding.Unicode);
                return(response);
            }
            DevicesCompany deviceCompany = new DevicesCompany();
            int            countDevice   = Metodo.NumberDeviceRegister(company.Id); //Obtiene la cantidad de equipos registrados

            if (countDevice == 0)
            {
                deviceCompany = Funcion.BuilDeviceCompany(company, device, Metodo);
            }
            else
            {
                List <RegisterDevice> listDevice = Metodo.GetListDevicesRegistered(device.Codigo); // Obtiene la lista de equipos registrados
                if (listDevice.Count > countDevice)
                {
                    response.Content = new StringContent("Limite para registrar dispositivos superado", Encoding.Unicode);
                    return(response);
                }
                else
                {
                    deviceCompany = Funcion.BuilDeviceCompany(listDevice, device, Metodo);
                    if (deviceCompany == null)
                    {
                        response.Content = new StringContent("El usuario no existe", Encoding.Unicode);
                        return(response);
                    }
                }
            }
            bool resultado = Metodo.RegisterDevice(deviceCompany);

            if (resultado)
            {
                Metodo.UpdateUserApi(company.Id, company.NameCompany, device.User, device.Email);
                response.Content          = new StringContent(EngineData.transaccionExitosa, Encoding.Unicode);
                response.Headers.Location = new Uri(EngineData.UrlBase + EngineData.UrlDevices);
            }
            else
            {
                response.Content          = new StringContent(EngineData.transaccionFallida, Encoding.Unicode);
                response.Headers.Location = new Uri(EngineData.UrlBase + EngineData.UrlDevices);
            }
            return(response);
        }
Exemplo n.º 2
0
        public DevicesCompany BuilDeviceCompany(Company company, RegisterDevice device, IEngineDb Metodo)
        {
            string[]       arrayUser      = { device.Email, device.User };
            UserApi        userApi        = Metodo.GetUser(arrayUser);
            DevicesCompany devicesCompany = new DevicesCompany()
            {
                IdCompany  = company.Id,
                IdUserApi  = userApi.Id,
                IdTypeUser = 2,
                CreateDate = DateTime.UtcNow,
                Phone      = device.Phone,
                Dni        = device.Dni,
                Nombre     = device.Nombre
            };

            return(devicesCompany);
        }
Exemplo n.º 3
0
        public string NameDevice(string dni)
        {
            DevicesCompany device = new DevicesCompany();

            try
            {
                using (EngineContext context = new EngineContext())
                {
                    device = context.DevicesCompany.Where(s => s.Dni == dni).FirstOrDefault();
                    return(device.Nombre);
                }
            }
            catch (Exception ex)
            {
                InsertarSucesoLog(Funcion.ConstruirSucesoLog(ex.ToString() + "*EngineDb/NameDevice*" + dni));
            }
            return(string.Empty);
        }
Exemplo n.º 4
0
        public bool RegisterDevice(DevicesCompany device)
        {
            bool resultado = false;

            try
            {
                using (EngineContext context = new EngineContext())
                {
                    context.DevicesCompany.Add(device);
                    context.SaveChanges();
                }
                resultado = true;
            }
            catch (Exception ex)
            {
                InsertarSucesoLog(Funcion.ConstruirSucesoLog(ex.ToString() + "*EngineDb/RegisterDevice*" + device.IdUserApi.ToString()));
            }
            return(resultado);
        }
Exemplo n.º 5
0
        public DevicesCompany BuilDeviceCompany(List <RegisterDevice> listDevice, RegisterDevice device, IEngineDb Metodo)
        {
            string[] arrayUser = { device.Email, device.User };
            UserApi  userApi   = Metodo.GetUser(arrayUser);

            if (userApi != null)
            {
                DevicesCompany devicesCompany = new DevicesCompany()
                {
                    IdCompany  = listDevice[0].IdCompany,
                    IdUserApi  = userApi.Id,
                    IdTypeUser = 2,
                    CreateDate = DateTime.UtcNow,
                    Phone      = device.Phone,
                    Dni        = device.Dni,
                    Nombre     = device.Nombre
                };
                return(devicesCompany);
            }

            return(null);
        }