Exemplo n.º 1
0
 public AccountApplianceDTO(AccountAppliance accountAppliance)
 {
     this.ApplianceId    = accountAppliance.ApplianceId;
     this.AccountId      = accountAppliance.AccountId;
     this.Lat            = accountAppliance.Lat;
     this.Lon            = accountAppliance.Lon;
     this.IsQRCodeScaned = accountAppliance.IsQRCodeScaned;
     this.IsVerified     = accountAppliance.IsVerified;
     this.AirGapVersion  = accountAppliance.AirGapVersion;
     this.ApplianceDTO   = new ApplianceDTO(accountAppliance.Appliance);
 }
Exemplo n.º 2
0
 public AccountAppliance Update(AccountAppliance accountAppliance)
 {
     return(repoAccountAppliance.Update(accountAppliance));
 }
Exemplo n.º 3
0
 public AccountAppliance Insert(AccountAppliance accountAppliance)
 {
     return(repoAccountAppliance.Insert(accountAppliance));
 }
Exemplo n.º 4
0
        public ResponseData <Dashboard> AddUUIDBySerialNumber([FromBody] RequestScanQRCode request)
        {
            try
            {
                bool isNew     = true;
                var  response  = new ResponseData <Dashboard>();
                var  appliance = _applianceService.GetApplianceBySerialNumber(request.serialnumber);
                if (appliance != null)
                {
                    var lAccountAppliance = _accountApplianceService.GetAccountApplianceByUUID(request.uuid);
                    if (lAccountAppliance != null && lAccountAppliance.Count > 0)
                    {
                        foreach (var item in lAccountAppliance)
                        {
                            if (item.ApplianceId == appliance.Id)
                            {
                                isNew = false;
                            }
                        }

                        if (isNew)
                        {
                            var accAppliance = new AccountAppliance()
                            {
                                IdentifierForVendor = request.uuid,
                                IsQRCodeScaned      = true,
                                DeviceName          = request.devicename,
                                Lat         = Convert.ToDouble(request.latitude),
                                Lon         = Convert.ToDouble(request.longitude),
                                ApplianceId = appliance.Id,
                                AccountId   = lAccountAppliance.FirstOrDefault().AccountId,
                                PhoneType   = request.phoneType,
                                DeviceToken = request.devicetoken
                            };
                            _accountApplianceService.Insert(accAppliance);

                            var account = _accountService.GetAccountById(accAppliance.AccountId.Value);

                            //Record event QR code
                            var _event = new Event()
                            {
                                AccountId   = accAppliance.AccountId,
                                ApplianceId = accAppliance.ApplianceId,
                                EventTypeId = Constant.EventType.ApplianceQRCodeScanned,
                                Timestamp   = DateTime.UtcNow,
                                Message     = account.PhoneNumber + " Pending"
                            };
                            _eventService.Insert(_event);
                        }
                        else
                        {
                            response.Status  = ResponseStatus.Existed.ToString();
                            response.Message = ResponseMessage.SerialNumberIsExist;
                            return(response);
                        }
                    }
                    else
                    {
                        var acc = _accountService.GetAccountByPhoneNumber(request.phonenumber);

                        var accAppliance = new AccountAppliance()
                        {
                            IdentifierForVendor = request.uuid,
                            IsQRCodeScaned      = true,
                            DeviceName          = request.devicename,
                            Lat         = Convert.ToDouble(request.latitude),
                            Lon         = Convert.ToDouble(request.longitude),
                            ApplianceId = appliance.Id,
                            AccountId   = acc.Id,
                            PhoneType   = request.phoneType,
                            DeviceToken = request.devicetoken
                        };
                        _accountApplianceService.Insert(accAppliance);

                        //Record event QR code
                        var _event = new Event()
                        {
                            AccountId   = accAppliance.AccountId,
                            ApplianceId = accAppliance.ApplianceId,
                            EventTypeId = Constant.EventType.ApplianceQRCodeScanned,
                            Timestamp   = DateTime.UtcNow,
                            Message     = request.phonenumber + " Pending"
                        };
                        _eventService.Insert(_event);
                    }

                    response.Message = ResponseMessage.Success;
                }
                else
                {
                    response.Message = ResponseMessage.SerialNumberInCorrect;
                }
                response.Status = ResponseStatus.Success.ToString();
                return(response);
            }
            catch (Exception ex)
            {
                var response = new ResponseData <Dashboard>();
                response.Message = ex.Message;
                response.Status  = ResponseStatus.Error.ToString();
                return(response);
            }
        }