func (Data *Data) Manage_CreateAccount(request *list.Element, Db *sql.DB) (er error) { req := request.Value.(*protocol.Request) er = nil User := new(users.User) var answer []byte if users.CheckValidMail(req.Spec.(protocol.Log).Email) == true { User.Mail = req.Spec.(protocol.Log).Email User.NbrBallSend = 0 User.Coord.Lon = req.Coord.Lon User.Log = time.Now() User.Coord.Lat = req.Coord.Lat User.Followed = list.New() User.Possessed = list.New() User.HistoricReq = list.New() User.Stats = new(users.StatsUser) User.Stats.CreationDate = time.Now() User.Psd = req.Spec.(protocol.Log).Pswd flag, err := Data.Lst_users.Add_new_user(User, Db, req.Spec.(protocol.Log).Pswd) er = err if err != nil { Data.Logger.Println("Error Add_new_user: ", err) } if flag == true { eUser := Data.Lst_users.Ulist.PushFront(User) Data.Device.Value.(*devices.Device).Historic.PushFront(eUser) /* Begin Stats */ User.Stats = new(users.StatsUser) User.Stats.CreationDate = time.Now() Data.Lst_users.NbrUsers++ /* End Stats */ answer = Data.Manage_ack(CREATEACCOUNT, 0, int32(1)) } else { er = nil answer = Data.Manage_ack(CREATEACCOUNT, 0, int32(0)) } } else { answer = Data.Manage_ack(CREATEACCOUNT, 0, int32(0)) } Data.Lst_asw.PushBack(answer) return er }