Esempio n. 1
0
        public async Task <HttpResponseMessage> PostStudentInfo(MobileUser user)
        {
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string cmd0      = $"select TableName from TableList where UniqueCode='{user.tablecode}'";
                string tablename = null;

                try
                {
                    await connection.OpenAsync();

                    SqlCommand    command = new SqlCommand(cmd0, connection);
                    SqlDataReader reader  = await command.ExecuteReaderAsync();

                    while (reader.Read())
                    {
                        tablename = reader["TableName"].ToString();
                    }
                    reader.Close();

                    string cmd = string.Format("INSERT INTO [{0}] (StudentID, StudentName, StudentGroup) SELECT StudentID, StudentName, StudentGroup FROM StudentTable  WHERE EMail = '{1}'", tablename, user.useremail);

                    SqlCommand comm = new SqlCommand(cmd, connection);
                    await comm.ExecuteNonQueryAsync();

                    return(Request.CreateResponse(HttpStatusCode.Created, "Данные успешно загружены."));
                }
                catch (Exception ex)
                {
                    return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, "При создании таблицы произошла ошибка: " + ex.Message));
                }
            }
        }
Esempio n. 2
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Session["LastSix"] = "578320";
            if (Session["LastSix"] != null)
            {
                if (Session["EmployeeID"] != null) //means already logged in and doesn't need to hit the following statements
                {
                    GlobalController globalController = new GlobalController();
                    MobileUser       mobileUser       = globalController.GetMobileUser(Session["LastSix"].ToString());

                    Session["Name"]           = mobileUser.Name;
                    Session["EmployeeID"]     = mobileUser.EmployeeID;
                    Session["EmployeeNumber"] = mobileUser.EmployeeNumber;
                }
            }
            else
            {
                if (Session["USERID"] == null)
                {
                    Session["OrigUrl"] = Request.Url.ToString();
                    Response.Redirect("~/Login.aspx?");
                }
            }
            LabelUser.Text = Session["Name"].ToString();
            User2.Text     = LabelUser.Text;
        }
        public async Task <IHttpActionResult> Post([FromBody] MobileUser mobileUser)
        {
            //AA-BBBBBB-CCCCCC-D или АА-BBBBBB-CCCCCC-EE
            if (!Regex.IsMatch(mobileUser.DeviceImei, "^[0-9]{15}(,[0-9]{15})*$"))
            {
                throw new BusinessLogicException("Неверный формат международного идентификатора мобильного оборудования");
            }

            var mobileUserFromDb = _unitOfWork.MobileUsers.GetByDeviceImei(mobileUser.DeviceImei);

            if (mobileUserFromDb == null)
            {
                try
                {
                    _unitOfWork.MobileUsers.Add(mobileUser);
                    await _unitOfWork.CompleteAsync();

                    return(Ok(mobileUser));
                }
                catch (Exception ex)
                {
                    return(Ok(ex));
                }
            }
            //TODO проверить телефон
            if (!mobileUserFromDb.PhoneNumber.Equals(mobileUser.PhoneNumber))
            {
                throw new NotImplementedException();
            }

            return(Ok(mobileUserFromDb));
        }
Esempio n. 4
0
        public MobileUser Create(int userId, string name, string lastName, string email, string phone, string mobileId, string mobileType)
        {
            var mobileUser = new MobileUser
            {
                Id         = userId,
                Name       = name,
                LastName   = lastName,
                Email      = email,
                Phone      = phone,
                MobileId   = mobileId,
                MobileType = mobileType
            };

            try
            {
                using (var db = dbContext)
                {
                    db.MobileUsers.Add(mobileUser);
                    db.SaveChanges();
                }

                return(mobileUser);
            }
            catch (Exception ex)
            {
                Trace.Fail(ex.Message);

                return(null);
            }
        }
Esempio n. 5
0
        public MobileUser UpdateUserProfile(MobileUser mobileUser, Boolean PhotoUploaded)
        {
            MobileUser UserDetails = new MobileUser();

            using (IDbConnection con = new SqlConnection(ConnectionString))
            {
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }
                DynamicParameters parameters = new DynamicParameters();
                parameters.Add("@UserId", mobileUser.UserId);
                parameters.Add("@FirstName", mobileUser.FirstName);
                parameters.Add("@LastName", mobileUser.LastName);
                parameters.Add("@Gender", mobileUser.Gender);
                parameters.Add("@DateOfBirth", mobileUser.DateOfBirth);
                parameters.Add("@City", mobileUser.City);
                parameters.Add("@State", mobileUser.State);
                parameters.Add("@Email", mobileUser.Email);
                parameters.Add("@MobileNo", mobileUser.MobileNo);
                parameters.Add("@ProfilePhoto", mobileUser.ProfilePhoto);
                parameters.Add("@PhotoUploaded", PhotoUploaded);
                parameters.Add("@PostCode", mobileUser.PostCode);
                parameters.Add("@ClientOrgGroupId", mobileUser.ClientOrgGroupId);
                parameters.Add("@ClientOrgDepartmentId", mobileUser.ClientOrgDepartmentId);
                parameters.Add("@ClientOrgDivisionId", mobileUser.ClientOrgDivisionId);
                parameters.Add("@ACEClientId", mobileUser.ACEClientId);

                UserDetails = con.Query <MobileUser>("MobileEAPUpdateUserProfile", parameters, commandType: CommandType.StoredProcedure).FirstOrDefault();
            }
            return(UserDetails);
        }
Esempio n. 6
0
        public ActionResult UpdateUserProfile(MobileUser mobileUser)
        {
            _logger.LogInformation("Post: api/User/UpdateUserProfile Invoke");
            ClientResponse GetclientResponse = null;

            if (mobileUser.ACEClientId == null)
            {
                ClientRequestToCreateId objclient = new ClientRequestToCreateId();
                objclient.firstName            = mobileUser.FirstName;
                objclient.lastName             = mobileUser.LastName;
                objclient.email                = mobileUser.Email;
                objclient.customerId           = mobileUser.ACECustomerId;
                objclient.serviceTypeId        = _aceServiceTypeId;
                objclient.employerGroupId      = mobileUser.ClientOrgGroupId;
                objclient.employerDepartmentId = mobileUser.ClientOrgDepartmentId;
                objclient.employerDivisionId   = mobileUser.ClientOrgDivisionId;
                objclient.postCode             = mobileUser.PostCode;
                objclient.dateOfBirth          = mobileUser.DateOfBirth;
                objclient.phoneNumber          = mobileUser.MobileNo;
                ACEAPI objaceapi = new ACEAPI();
                GetclientResponse = objaceapi.CreateClientId(objclient);
                if (GetclientResponse.id != null)
                {
                    mobileUser.ACEClientId = GetclientResponse.id;
                }
            }

            ResponseModel responseModel = new ResponseModel();

            if (mobileUser.ACEClientId != null)
            {
                var result = _userService.UpdateUserProfile(mobileUser, _hostingEnvironment.ContentRootPath.ToString(), folderLocation);
                if (result == null)
                {
                    responseModel.Message = "Record Not Created";
                    return(NoContent());
                }
                else
                {
                    if (result.ErrorMsg == "Email is Already Exist")
                    {
                        responseModel.Message   = "Email is Already Exist";
                        responseModel.Result    = null;
                        responseModel.IsSuccess = false;
                        return(Ok(responseModel));
                    }
                    if (result.ProfilePhoto != null)
                    {
                        result.ProfilePhoto = $"{baseUsrl}/{folderLocation}/{result.UserId}/{result.ProfilePhoto}";
                    }
                    responseModel.Result = result;
                }
            }
            else
            {
                responseModel.IsSuccess = false;
                responseModel.Message   = GetclientResponse.detail;
            }
            return(Ok(responseModel));
        }
        public IHttpActionResult Put(MobileUser user)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Not a valid model"));
            }

            using (var ctx = new MobileUserEntities())
            {
                var existingUser = ctx.MobileUsers.Where(s => s.UserId == user.UserId)
                                   .FirstOrDefault <MobileUser>();

                if (existingUser != null)
                {
                    existingUser.FullName = user.FullName;
                    existingUser.email    = user.email;
                    ctx.SaveChanges();
                }
                else
                {
                    return(NotFound());
                }
            }

            return(Ok());
        }
Esempio n. 8
0
 public int Add(MobileUser entity)
 {
     entity.Mu_LastTime = DateTime.Now;
     Song.Entities.Organization org = Business.Do <IOrganization>().OrganCurrent();
     if (org != null)
     {
         entity.Org_ID   = org.Org_ID;
         entity.Org_Name = org.Org_Name;
     }
     return(Gateway.Default.Save <MobileUser>(entity));
 }
Esempio n. 9
0
        public async Task <SimpleResponse> Post([FromForm] PhotoPostRequest request)
        {
            MobileUser user_db = await _db.mobile_users
                                 .Where(u => u.token == request.user_token)
                                 .FirstOrDefaultAsync();

            if (user_db == null)
            {
                return(new SimpleResponse {
                    error = "Пользователь не найден"
                });
            }
            Ticket ticket_db = await _db.tikets
                               .Where(t => t.id == request.ticket_id)
                               .FirstOrDefaultAsync();

            if (ticket_db == null)
            {
                return(new SimpleResponse {
                    error = "Заявка не найдена"
                });
            }

            int count = await _db.photos
                        .Where(p => p.ticket == request.ticket_id)
                        .CountAsync();

            /*if(count > 15)
             * {
             *  return new SimpleResponse{error = "Превышен лимит заявок"};
             * }*/

            Photo photo = new Photo();

            photo.ticket = request.ticket_id;
            using (var binaryReader = new BinaryReader(request.photo.OpenReadStream()))
            {
                photo.file = binaryReader.ReadBytes((int)request.photo.Length);
            }
            await _db.photos.AddAsync(photo);

            Photo mini = new Photo {
                mini = true, file = resize(photo.file), ticket = photo.ticket
            };
            await _db.photos.AddAsync(mini);

            await _db.SaveChangesAsync();

            return(new SimpleResponse {
                message = "Фотография прикреплена к заявке"
            });
        }
Esempio n. 10
0
        private bool Convert(MobileUser mobUser, out User user)
        {
            try
            {
                user = this.autoMapper.Map <MobileUser, User>(mobUser);
            }
            catch
            {
                user = null;
                return(false);
            }

            return(true);
        }
        public async Task <MobileUser> Register(MobileUser user, string password)
        {
            byte[] passwordHash, passwordSalt;
            CreatePasswordHash(password, out passwordHash, out passwordSalt);

            user.PasswordHash = passwordHash;
            user.PasswordSalt = passwordSalt;

            await _context.MobileUsers.AddAsync(user);

            await _context.SaveChangesAsync();

            return(user);
        }
        private async void RegisterFunction()
        {
            //ErrorList = default(ObservableCollection<string>);

            if (validations())
            {
                var user = new RegisterUserModel()
                {
                    UserName = Username, Password = Password, Email = Email
                };
                var error = await server.RegisterUser(user);

                if (error == null)
                {
                    //registration is complete!!!!
                    //ErrorList.Add("Register Succesfully");
                    var temp_user = new MobileUser()
                    {
                        Email = user.Email, Username = user.UserName, Password = user.Password
                    };
                    //await database.createUser(temp_user);
                    try {
                        await Shell.Current.Navigation.PushPopupAsync(new InfoPopup("Info", "Account successfully created!!"));
                    }
                    catch (Exception ex) {
                        await App.Current.MainPage.Navigation.PushPopupAsync(new InfoPopup("Info", "Account successfully created!!"));
                    }



                    return;
                }

                try {
                    List <string> errorss = JsonConvert.DeserializeObject <List <string> >(error);

                    var obsErrorss = new ObservableCollection <string>(errorss);
                    ErrorList = obsErrorss;
                }
                catch (JsonException ex)
                {
                    await App.Current.MainPage.Navigation.PushPopupAsync(new InfoPopup("Error", error));
                }
            }
            Console.WriteLine(Email);
            Console.WriteLine(Username);
            Console.WriteLine(Password);
            Console.WriteLine(ConfirmPassword);
        }
        public void AddItem <T>(T item)
        {
            Type         requestType = typeof(T);
            MobileEntity mobEntity   = null;

            try
            {
                if (requestType == typeof(SettingsContainer))
                {
                    //Todo use AutoMapper
                    SettingsContainer settingContainer = item as SettingsContainer;
                    if (settingContainer != null)
                    {
                        lock (settingContainer)
                        {
                            MobileUser             mobUser     = new MobileUser();
                            Tuple <double, double> geolocation = settingContainer.GetGeolocation();
                            mobUser.Latitude       = geolocation.Item1;
                            mobUser.Longitude      = geolocation.Item2;
                            mobUser.EventDateRange = settingContainer.GetEventDateRange();
                            mobUser.Guid           = settingContainer.GetGuid().ToString();
                            mobUser.MaxDistance    = settingContainer.GetMaxDistance();

                            mobEntity = mobUser;
                        }
                    }
                    else
                    {
                        mobEntity = null;
                    }
                }
                else
                {
                    mobEntity = converterService.Convert((item as Entity));
                }

                if (mobEntity != null)
                {
                    this.sqliteConnection.RunInTransaction(() =>
                    {
                        this.sqliteConnection.InsertOrReplaceWithChildren(mobEntity, true);
                    });
                }
            }
            catch (Exception e)
            {
                return;
            }
        }
Esempio n. 14
0
        public void SetUp()
        {
            this._converterService = new ModelConverterService();
            IEventService eventService = new EventbriteService();
            var           location     = Cities.Amberg.GetLocation();

            this._events =
                eventService.GetEvents(location.Item1, location.Item2, new EventDateRange {
                Description = "Weekend"
            }).Result
                .ToArray();


            var fileName = "SQliteDatabaseTest.db3";
            var path     = Path.Combine(Path.GetTempPath(), fileName);

            Console.WriteLine(path);
            if (File.Exists(path))
            {
                File.Delete(path);
            }

            this._connection = new SQLiteConnection(new SQLite.Net.Platform.Win32.SQLitePlatformWin32(), path, SQLiteOpenFlags.ReadWrite | SQLiteOpenFlags.Create | SQLiteOpenFlags.SharedCache);
            this._connection.CreateTable <MobileCategory>();
            this._connection.CreateTable <MobileUser>();
            this._connection.CreateTable <MobileEvent>();


            this._dummyUser = new MobileUser
            {
                Guid                        = "max.urvent",
                Gender                      = 0,
                EMail                       = "*****@*****.**",
                Birthday                    = DateTime.Now,
                AccessToken                 = "token",
                AccessTokenReceived         = DateTime.Now,
                AttractedTo                 = 1,
                EventDateRange              = 0,
                ExcludedCategories          = new List <MobileCategory>(),
                FacebookAccessToken         = "fbToken",
                FacebookAccessTokenReceived = DateTime.Now,
                MaxDistance                 = 20,
                Longitude                   = 0,
                Latitude                    = 0,
                LastLogin                   = DateTime.Now,
                UserEvents                  = new List <MobileEvent>()
            };
        }
Esempio n. 15
0
        public async Task <IActionResult> Verify([FromBody] EmailCode emailCode)
        {
            string     email = emailCode.Email;
            string     code  = emailCode.Code;
            MobileUser user  = await UserDB.GetMobileUserByEmail(_context, email);

            if (user != null)
            {
                if (user.EmailCode == code)
                {
                    return(Ok(user.ApiKey));
                }
            }

            return(BadRequest());
        }
Esempio n. 16
0
        public bool Register(string userName, string hash, string name)
        {
            if (_context.MobileUsers.Any(u => u.UserName == userName))
            {
                return(false);
            }
            var user = new MobileUser {
                Hash     = hash,
                Name     = name,
                UserName = userName
            };

            _context.MobileUsers.Add(user);
            _context.SaveChanges();
            return(true);
        }
Esempio n. 17
0
        private async void CheckUser()
        {
            var user = new LoginUserModel()
            {
                Email = Email, Password = Password, RememberMe = true
            };
            var result = await server.LoginUser(user);

            if (result == default(MobileUserServer))
            {
                //peta tou popup oti kanei egine alani
                //edw to login einai unsuccesfull
                try
                {
                    await Shell.Current.Navigation.PushPopupAsync(new InfoPopup("Error", "Something went wrong please enter valid credentials!"));
                }
                catch (NullReferenceException ex)
                {
                    await App.Current.MainPage.Navigation.PushPopupAsync(new InfoPopup("Error", "Something went wrong please enter valid credentials!"));
                }
            }
            else
            {
                //successful login!!! kane kati
                if (IsChecked)
                {
                    var user_temp = new MobileUser()
                    {
                        Email = user.Email, Password = user.Password
                    };
                    try
                    {
                        await database.createUser(user_temp);

                        App.CurrentUserEmail = user_temp.Email;
                    }
                    catch (Exception ex)
                    {
                        await App.Current.MainPage.Navigation.PushPopupAsync(new InfoPopup("Error", "Couldnt save user in the localdb!"));
                    }
                }
                App.CurrentUserEmail = user.Email;
                App.Current.MainPage = new AppShell();
            }
            Console.WriteLine("");
            Console.WriteLine("");
        }
Esempio n. 18
0
        private bool Convert(User user, out MobileUser mobUser)
        {
            try
            {
                mobUser = this.autoMapper.Map <User, MobileUser>(user);
                foreach (var category in mobUser.ExcludedCategories)
                {
                    category.UserGuid = mobUser.Guid;
                }
            }
            catch
            {
                mobUser = null;
                return(false);
            }

            return(true);
        }
Esempio n. 19
0
        public async Task <bool> createUser(MobileUser currentUser)
        {
            var user = await _sqlconnection.Table <MobileUser>().FirstOrDefaultAsync(c => c.Email == currentUser.Email);

            if (user != null)
            {
                //pairnw to pass edw pera kai to stelnw sto  server mou na kanei signin!!!
                return(false);
            }
            else
            {
                await _sqlconnection.InsertAsync(currentUser);

                var list1 = await _sqlconnection.Table <MobileUser>().ToListAsync();

                return(true);
            }
        }
 public IHttpActionResult Post(MobileUser user)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest("Invalid data."));
     }
     using (var ctx = new MobileUserEntities())
     {
         ctx.MobileUsers.Add(new MobileUser()
         {
             UserId   = user.UserId,
             FullName = user.FullName,
             pwd      = user.pwd,
             email    = user.email
         });
         ctx.SaveChanges();
     }
     return(Ok());
 }
Esempio n. 21
0
        public Entity Convert(MobileEntity item)
        {
            bool   coversionResult = false;
            Entity entity          = null;

            // ReSharper disable once CanBeReplacedWithTryCastAndCheckForNull
            if (item is MobileUser)
            {
                MobileUser mobUser = ((MobileUser)item);
                User       user;
                coversionResult = this.Convert(mobUser, out user);
                entity          = user;
            }
            else if (item is MobileEvent)
            {
                MobileEvent mobEvent = ((MobileEvent)item);
                Event       @event;
                coversionResult = this.Convert(mobEvent, out @event);
                entity          = @event;
            }

            /*
             * else if (item is Category)
             * {
             *  Category category = ((Category)item);
             *  MobileCategory mobCategory;
             *  coversionResult = Convert(category, out mobCategory);
             *  mobEntity = mobCategory;
             * }
             */
            else
            {
                throw new InvalidOperationException();
            }

            if (!coversionResult || entity == null)
            {
                throw new InvalidOperationException("Could not convert from MobileEntity to Entity");
            }

            return(entity);
        }
Esempio n. 22
0
        private async void CreateFunction()
        {
            Console.WriteLine(Email);
            Console.WriteLine(Username);
            Console.WriteLine(Password);
            Console.WriteLine(ConfirmPassword);
            var user = new MobileUser()
            {
                Email = Email, Username = Username, Password = Password
            };
            var userr = new RegisterUserModel()
            {
                Email = Email, UserName = Username, Password = Password
            };
            await database.createUser(user);

            await server.RegisterUser(userr);

            Console.WriteLine("adadsf");
        }
Esempio n. 23
0
        public MobileUser UpdateUserProfile(MobileUser mobileUser, string rootPath, string folderLocation)
        {
            MobileUser userentity = null;

            if (mobileUser.Base64Data != null)
            {
                string filetype = mobileUser.FileType.Replace("image/", "");
                string FileName = Guid.NewGuid().ToString() + "." + filetype;
                mobileUser.ProfilePhoto = FileName;
                userentity = _userRepository.UpdateUserProfile(mobileUser, true);
                string imagePath = folderLocation + "/" + userentity.UserId;
                _commonService.FileUpload(rootPath, imagePath, FileName, mobileUser.Base64Data);
            }
            else
            {
                userentity = _userRepository.UpdateUserProfile(mobileUser, false);
            }

            return(userentity);
        }
Esempio n. 24
0
        public MobileUser Create(int userId, string name, string lastName, string email, string phone, string mobileId, string mobileType)
        {
            var mobileUser = new MobileUser
            {
                Id         = userId,
                Name       = name,
                LastName   = lastName,
                Email      = email,
                Phone      = phone,
                MobileId   = mobileId,
                MobileType = mobileType
            };

            using (var db = dbContext)
            {
                db.MobileUsers.Add(mobileUser);
                db.SaveChanges();
            }

            return(mobileUser);
        }
Esempio n. 25
0
        private string GenerateJwtToken(MobileUser user)
        {
            var claims = new List <Claim>
            {
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                new Claim(ClaimTypes.Name, user.Username)
            };

            var key             = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_config.GetSection("AppSettings:TokenKey").Value));
            var credentials     = new SigningCredentials(key, SecurityAlgorithms.HmacSha512Signature);
            var tokenDescriptor = new SecurityTokenDescriptor
            {
                Subject            = new ClaimsIdentity(claims),
                Expires            = DateTime.Now.AddDays(50),
                SigningCredentials = credentials
            };

            var tokenHandler = new JwtSecurityTokenHandler();
            var token        = tokenHandler.CreateToken(tokenDescriptor);

            return(tokenHandler.WriteToken(token));
        }
Esempio n. 26
0
        // GET: Global
        public MobileUser GetMobileUser(string LastSix)
        {
            MobileUser mobileUser = new MobileUser();

            try
            {
                using (var db = new SSITrainingEntities())
                {
                    var query = db.sp_sys_GetMobileLogin(LastSix).Single();

                    mobileUser.Name           = query.Name;
                    mobileUser.EmployeeID     = query.EmployeeID;
                    mobileUser.EmployeeNumber = query.EmployeeNumber;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }

            return(mobileUser);
        }
Esempio n. 27
0
        public async Task <IActionResult> SendVerificationEmail([FromBody] EmailCode emailCode)
        {
            if (Utils.IsEmailValid(emailCode.Email))
            {
                string code = Utils.GenerateRandomCode();


                if (await UserDB.IsMobileUserExists(_context, emailCode.Email))
                {
                    MobileUser us = await UserDB.GetMobileUserByEmail(_context, emailCode.Email);

                    us.EmailCode = code;


                    User user = await UserDB.GetUserByEmail(_context, emailCode.Email);

                    if (user != null)
                    {
                        us.TelegramId = user.TelegramId;
                    }

                    _context.MobileUsers.Update(us);
                    _context.SaveChanges();
                }
                else
                {
                    UserDB.AddMobileUser(_context, emailCode.Email, code);
                }


                await Utils.SendEmailAsync(emailCode.Email, "Потверждение почты", $"Ваш кода для потверждения почты: {code}");

                return(Ok());
            }

            return(BadRequest());
        }
Esempio n. 28
0
        public async Task <ActionResult <SimpleResponse> > CustomNew(CustomRoadSignTicket mobile_ticket)
        {
            MobileUser user = await _db.mobile_users
                              .Where(u => u.token == mobile_ticket.user_token).FirstOrDefaultAsync();

            if (user == null)
            {
                return(new SimpleResponse {
                    error = "Пользователь не найден"
                });
            }

            DateTime date_time = DateTime.Now;

            date_time = date_time.AddHours(7);
            string date = date_time.ToString("yyyy-MM-dd HH:mm:ss");
            int    ticket_user_today = await _db.tikets
                                       .Where(
                t => t.mobile_token == mobile_ticket.user_token &&
                t.date_add.Substring(0, 10) == date.Substring(0, 10)
                ).CountAsync();

            //ALARM
            ticket_user_today = 0;
            //ALARM

            if (ticket_user_today < 5)
            {
                string desc = mobile_ticket.description;
                if (desc == null)
                {
                    desc = "Светофор не работает";
                }

                Ticket new_ticket =
                    new Ticket
                {
                    state_id     = 1,
                    type_id      = 3,
                    description  = desc,
                    date_add     = date,
                    mobile_token = mobile_ticket.user_token,
                    long_        = mobile_ticket.long_,
                    lat          = mobile_ticket.lat,
                };

                await _db.tikets.AddAsync(new_ticket);

                await _db.SaveChangesAsync();

                await _db.ticket_road_signs.AddAsync(
                    new TicketRoadSign
                {
                    ticket_id = new_ticket.id,
                    ticket    = new_ticket,
                }
                    );

                await _db.SaveChangesAsync();

                return(new SimpleResponse {
                    message = new_ticket.id + ""
                });
            }
            else
            {
                return(new SimpleResponse {
                    error = "Превышено кол-во заявок на сегодня"
                });
            }
        }
Esempio n. 29
0
        public async Task <ActionResult <SimpleResponse> > QRNew(QRTrafficLightTicketRequest mobile_ticket)
        {
            var traffic_light = await _db.traffic_lights
                                .Where(t => t.hash_code == mobile_ticket.traffic_light_hash_code)
                                .FirstOrDefaultAsync();

            if (traffic_light == null)
            {
                return(new SimpleResponse {
                    error = "Светофор не найден"
                });
            }

            // Костыль заджоинил район
            var _district = await _db.districts
                            .Where(d => d.id == traffic_light.district_id).FirstOrDefaultAsync();

            traffic_light.district = _district;

            MobileUser user = await _db.mobile_users
                              .Where(u => u.token == mobile_ticket.user_token).FirstOrDefaultAsync();

            if (user == null)
            {
                return(new SimpleResponse {
                    error = "Пользователь не найден"
                });
            }

            DateTime date_time = DateTime.Now;

            date_time = date_time.AddHours(7);
            string date = date_time.ToString("yyyy-MM-dd HH:mm:ss");

            int ticket_user_today = await _db.tikets
                                    .Where(
                t => t.mobile_token == mobile_ticket.user_token &&
                t.date_add.Substring(0, 10) == date.Substring(0, 10)
                ).CountAsync();

            //ALARM
            ticket_user_today = 0;
            //ALARM

            if (ticket_user_today < 5)
            {
                if (traffic_light.district == null)
                {
                    return(new SimpleResponse {
                        error = "Район светофора не найден"
                    });
                }

                string desc = mobile_ticket.description;
                if (desc == null)
                {
                    desc = "Светофор не работает";
                }

                Ticket new_ticket =
                    new Ticket
                {
                    state_id     = 1,
                    type_id      = 1,
                    description  = desc,
                    date_add     = date,
                    mobile_token = mobile_ticket.user_token,
                    long_        = traffic_light.long_,
                    lat          = traffic_light.lat,
                };

                await _db.tikets.AddAsync(new_ticket);

                await _db.SaveChangesAsync();

                await _db.ticket_traffic_lights.AddAsync(
                    new TicketTrafficLight
                {
                    ticket_id        = new_ticket.id,
                    traffic_light_id = traffic_light.id,
                }
                    );

                await _db.SaveChangesAsync();

                return(new SimpleResponse {
                    message = new_ticket.id + ""
                });
            }
            else
            {
                return(new SimpleResponse {
                    error = "Превышено кол-во заявок на сегодня"
                });
            }
        }
Esempio n. 30
0
 public void Delete(MobileUser entity)
 {
     Gateway.Default.Delete <MobileUser>(entity);
 }