Exemple #1
0
        public static Dossier ToDossier(DossierData dossier, IEnumerable <IdentityRole> roles = null)
        {
            var model = new Dossier
            {
                Id       = dossier.Id,
                Name     = dossier.Name,
                OwnerId  = dossier.OwnerId,
                Notes    = new List <Note>(),
                Details  = new List <DossierDetail>(),
                Watchers = new List <User>()
            };

            if (dossier.Details != null)
            {
                model.Details = Converter.ToDossierDetail(dossier.Details)
                                .ToList();
            }

            if (dossier.Notes != null)
            {
                model.Notes = Converter.ToNote(dossier.Notes)
                              .ToList();
            }

            if (roles != null)
            {
                model.Watchers = Converter.ToUser(dossier.Watchers, roles)
                                 .ToList();
            }

            return(model);
        }
Exemple #2
0
        public bool Annuler(int dossierReservationId, RaisonAnnulationDossier raisonAnnulationDossier)
        {
            bool succes             = false;
            var  dossierReservation = new DossierData().GetById(dossierReservationId);

            if (dossierReservation != null &&
                dossierReservation.RaisonAnnulationDossier == 0 &&
                dossierReservation.EtatDossierReservation != EtatDossierReservation.Refuse &&
                raisonAnnulationDossier == RaisonAnnulationDossier.Client)
            {
                dossierReservation.EtatDossierReservation  = EtatDossierReservation.Annule;
                dossierReservation.RaisonAnnulationDossier = RaisonAnnulationDossier.Client;
                if (dossierReservation.Assurances.Where(x => x.TypeAssurance == TypeAssurance.Annulation).Count() > 0)
                {
                    var rembourser = new CarteBancaireService().Rembourser(dossierReservation.NumeroCarteBancaire,
                                                                           dossierReservation.PrixTotal);
                }
                new DossierData().Update(dossierReservation);
                succes = true;
            }

            if (dossierReservation != null &&
                dossierReservation.RaisonAnnulationDossier == raisonAnnulationDossier &&
                dossierReservation.EtatDossierReservation == EtatDossierReservation.Refuse)
            {
                dossierReservation.EtatDossierReservation = EtatDossierReservation.Annule;

                new DossierData().Update(dossierReservation);
                succes = true;
            }


            return(succes);
        }
Exemple #3
0
        public DossierReservation Ajout(DossierReservation dossierReservation)
        {
            var dossierData = new DossierData();

            dossierData.Ajouter(dossierReservation);
            return(dossierReservation);
        }
        public async Task <IHttpActionResult> Post(string userId, [FromBody] Dossier dossier)
        {
            var user = await UserManager.FindByIdAsync(userId);

            if (user == null)
            {
                return(NotFound());
            }

            var dossierData = new DossierData()
            {
                Name     = dossier.Name,
                OwnerId  = user.Id,
                Watchers = new List <UserData>()
            };

            dossierData.Watchers.Add(user);

            UoW.DossierRepository.Insert(dossierData);
            UoW.Save();

            var result = Converter.ToDossier(dossierData);

            return(Created(Request.RequestUri, result));
        }
Exemple #5
0
        protected override void Seed(Lisa.Zuma.BlueJay.Web.Data.BlueJayContext context)
        {
            //  This method will be called after migrating to the latest version.
            var userStore   = new UserStore <UserData>(context);
            var userManager = new UserManager <UserData>(userStore);

            var roleStore   = new RoleStore <IdentityRole>(context);
            var roleManager = new RoleManager <IdentityRole>(roleStore);

            var dossier = new DossierData
            {
                Details = new List <DossierDetailData>(),
                Name    = "Martijn"
            };

            var parent = new UserData
            {
                Type     = "PARENT",
                UserName = "******"
            };

            var mentor = new UserData
            {
                Type     = "OTHER",
                UserName = "******"
            };

            try
            {
                context.SaveChanges();

                userManager.Create(parent, "password123");
                userManager.Create(mentor, "password123");

                // Add default roles
                roleManager.Create(new IdentityRole("User"));
                roleManager.Create(new IdentityRole("Begeleider"));
                roleManager.Create(new IdentityRole("Parent"));
                roleManager.Create(new IdentityRole("Admin"));

                // Add parent to parent role and user role
                userManager.AddToRole(parent.Id, "User");
                userManager.AddToRole(parent.Id, "Parent");

                userManager.AddToRole(mentor.Id, "User");
                userManager.AddToRole(mentor.Id, "Begeleider");

                dossier.OwnerId = parent.Id;
                parent.Dossiers = new List <DossierData>()
                {
                    dossier
                };

                context.SaveChanges();
            }
            catch { }
        }
Exemple #6
0
        /// <summary>
        /// Tries to get the note identified by <paramref name="id"/> and fills <paramref name="noteData"/>
        /// with the retrieved note.
        /// </summary>
        /// <param name="dossierData"></param>
        /// <param name="id">The id of the note to retrieve.</param>
        /// <param name="dossierDetailData">The note to fill with the retrieval result.</param>
        /// <returns></returns>
        public static bool TryGetNote(this DossierData dossierData, int id, out NoteData noteData)
        {
            if (!dossierData.HasNote(id))
            {
                noteData = null;
                return(false);
            }

            noteData = dossierData.GetNote(id);
            return(true);
        }
Exemple #7
0
        /// <summary>
        /// Tries to get the detail identified by <paramref name="id"/> and fills <paramref name="dossierDetailData"/>
        /// with the retrieved detail.
        /// </summary>
        /// <param name="dossierData"></param>
        /// <param name="id">The id of the detail to retrieve.</param>
        /// <param name="dossierDetailData">The detail to fill with the retrieval result.</param>
        /// <returns></returns>
        public static bool TryGetDetail(this DossierData dossierData, int id, out DossierDetailData dossierDetailData)
        {
            if (!dossierData.HasDetail(id))
            {
                dossierDetailData = null;
                return(false);
            }

            dossierDetailData = dossierData.GetDetail(id);
            return(true);
        }
Exemple #8
0
 private void UpdateDossierFile(FileInfo fi)
 {
     using (Unpickler unpickler = new Unpickler())
     {
         using (FileStream fs = fi.OpenRead())
         {
             DossierData dossier = ParseDossierRawData(fi.Name, unpickler.load(fs));
             DossierDB.UpdateDossierData(fi.Name, fi.LastWriteTimeUtc.ToUnixTime(), dossier);
         }
     }
 }
        /// <summary>
        /// Tries to get the dossier identified by <paramref name="id"/> and fills <paramref name="dossierData"/>
        /// with the retrieved dossier.
        /// </summary>
        /// <param name="noteData"></param>
        /// <param name="id">The id of the dossier to retrieve.</param>
        /// <param name="dossierData">The dossier to fill with the retrieval result.</param>
        /// <returns></returns>
        public static bool TryGetDossier(this UserData userData, int id, out DossierData dossierData)
        {
            if (!userData.HasDossier(id))
            {
                dossierData = null;
                return(false);
            }

            dossierData = userData.GetDossier(id);
            return(true);
        }
Exemple #10
0
        public static void UpdateDossierData(string filename, int modified, DossierData dossier)
        {
            int lastBattleTime    = DossierDB.GetDossierFileParam(filename, "lastBattleTime");
            int newLastBattleTime = dossier.maxLastBattleTime;

            ExecuteNonQuery(String.Format("INSERT OR REPLACE INTO DossierCacheFiles VALUES ({0}, {1}, {2})", Q(filename), modified, newLastBattleTime));

            if (newLastBattleTime <= 0)
            {
                return;
            }

            // update periods
            DataRow playerDataRow = ExecuteRow("SELECT 1 FROM Players WHERE playerName=" + Q(dossier.playerName));

            ExecuteNonQuery(playerDataRow == null
        ? String.Format("INSERT INTO Players VALUES({0}, {1}, {1})", Q(dossier.playerName), newLastBattleTime)
        : String.Format("UPDATE Players SET last={1} WHERE playerName={0}", Q(dossier.playerName), newLastBattleTime));

            // update vehicle stat
            if (dossier.vehicles == null)
            {
                return;
            }

            Program.Log("UpdateDossierData: " + dossier.playerName);
            foreach (DossierVehicleData vd in dossier.vehicles)
            {
                if (vd.lastBattleTime <= lastBattleTime)
                {
                    continue;
                }

                VehicleInfoData vi = VehicleInfo.ByVid(vd.vid);
                if (vi == null)
                {
                    Program.Log("WARNING: no data for vid=" + vd.vid);
                    continue;
                }

                Program.Log(String.Format("  {0}: {1} ({2} battles)", vd.lastBattleTime.ToUnixDateTime(), vi.vname, vd.tankdata_battlesCount));

                ExecuteNonQuery(String.Format("INSERT OR REPLACE INTO VehicleStat VALUES ({0}, {1}, {2}, {3}, {4}, {5})",
                                              Q(dossier.playerName),
                                              vd.lastBattleTime,
                                              vd.vid,
                                              Q(vd.TankDataToJson()),
                                              Q(vd.CompanyDataToJson()),
                                              Q(vd.ClanDataToJson())));
            }
        }
        public bool Supprimer(int voyageId)
        {
            var voyageData  = new VoyageData();
            var dossierData = new DossierData();
            var voyage      = voyageData.GetById(voyageId);

            if (dossierData.GetList().Where(x => x.VoyageId == voyageId).Count() > 0)
            {
                return(false);
            }
            else
            {
                return(voyageData.Effacer(voyage));
            }
        }
Exemple #12
0
        public DossierReservation Cloturer(int dossierReservationId)
        {
            var dossierReservation = new DossierData().GetById(dossierReservationId);

            if (dossierReservation != null &&
                dossierReservation.EtatDossierReservation == EtatDossierReservation.Accepte &&
                DateTime.Now <= new VoyageData().GetById(dossierReservation.VoyageId).DateAller)
            {
                dossierReservation.EtatDossierReservation = EtatDossierReservation.Clos;
                new DossierData().Update(dossierReservation);

                new CarteBancaireService().PayerAgence(dossierReservation.PrixParPersonne * 0.9m);
            }
            return(dossierReservation);
        }
Exemple #13
0
        public DossierReservation ValiderSolvabilite(int dossierReservationId)
        {
            var dossierReservation = new DossierData().GetById(dossierReservationId);

            if (dossierReservation != null &&
                dossierReservation.EtatDossierReservation == EtatDossierReservation.EnAttente)
            {
                var carteBancaireServie = new CarteBancaireService();
                if (carteBancaireServie.ValiderSolvabilite(dossierReservation.NumeroCarteBancaire,
                                                           dossierReservation.PrixTotal))
                {
                    dossierReservation.EtatDossierReservation = EtatDossierReservation.EnCours;
                    new DossierData().Update(dossierReservation);
                }
            }
            return(dossierReservation);
        }
Exemple #14
0
        public DossierReservation Accepter(int dossierReservationId)
        {
            var dossierReservation = new DossierData().GetById(dossierReservationId);

            if (dossierReservation != null &&
                dossierReservation.EtatDossierReservation == EtatDossierReservation.EnCours)
            {
                var voyage = new VoyageData().GetById(dossierReservation.VoyageId);
                if (voyage.PlacesDisponibles >= dossierReservation.Participants.Count)
                {
                    dossierReservation.EtatDossierReservation = EtatDossierReservation.Accepte;
                    new DossierData().Update(dossierReservation);
                    new VoyageService().Reserver(voyage, dossierReservation.Participants.Count);
                }
                else
                {
                    dossierReservation.EtatDossierReservation  = EtatDossierReservation.Refuse;
                    dossierReservation.RaisonAnnulationDossier = RaisonAnnulationDossier.PlacesInsuffisantes;
                    new DossierData().Update(dossierReservation);
                }
            }
            return(dossierReservation);
        }
Exemple #15
0
 /// <summary>
 /// Checks if this dossier contains the detail with the id specified by <paramref name="id"/>.
 /// </summary>
 /// <param name="dossierData"></param>
 /// <param name="id">The id of the detail to check for existance.</param>
 /// <returns></returns>
 public static bool HasDetail(this DossierData dossierData, int id)
 {
     return(dossierData.Details.Count(d => d.Id == id) > 0);
 }
Exemple #16
0
 /// <summary>
 /// Checks if this dossier contains the detail as specified in <paramref name="dossierDetailData"/>.
 /// </summary>
 /// <param name="dossierData"></param>
 /// <param name="dossierDetailData">The detail to check for existance.</param>
 /// <returns></returns>
 public static bool HasDetail(this DossierData dossierData, DossierDetailData dossierDetailData)
 {
     return(dossierData.HasDetail(dossierDetailData.Id));
 }
 /// <summary>
 /// Checks if this user has the dossier as specified by <paramref name="dossier"/>.
 /// </summary>
 /// <param name="userData"></param>
 /// <param name="dossier">The dossier to check for existance.</param>
 /// <returns></returns>
 public static bool HasDossier(this UserData userData, DossierData dossier)
 {
     return(userData.HasDossier(dossier.Id));
 }
Exemple #18
0
        private DossierData ParseDossierRawData(string filename, object raw)
        {
            try
            {
                DossierData dossier = new DossierData();

                dossier.dossierVersion = (int)((raw as object[])[0]);

                //if (dossier.dossierVersion != 16)
                //    throw new Exception("Unsupported dossier cache version: " + dossier.dossierVersion + "\n" + filename);

                string[] base32name = Encoding.ASCII.GetString(Utils.FromBase32String(Path.GetFileNameWithoutExtension(filename))).Split(new char[] { ';' }, 2);
                dossier.server     = base32name[0];
                dossier.playerName = base32name[1];

                Hashtable vehicleitems = (raw as object[])[1] as Hashtable;
                foreach (DictionaryEntry item in vehicleitems)
                {
                    DossierVehicleData vd = new DossierVehicleData();
                    vd.vid = (int)((item.Key as object[])[1]) & 0xFFFFF0;
                    byte[] data = (item.Value as object[])[1] as byte[];
                    if (data == null || data.Length == 0)
                    {
                        continue;
                    }
                    byte vehicleVersion = data[0];
                    switch (vehicleVersion)
                    {
                    case 20:
                        vd.AppendStruct(Utils.ReadStruct <VehicleData_20>(data));
                        break;

                    case 22:
                        vd.AppendStruct(Utils.ReadStruct <VehicleData_22>(data));
                        break;

                    case 24:
                        vd.AppendStruct(Utils.ReadStruct <VehicleData_24>(data));
                        break;

                    case 26:
                        vd.AppendStruct(Utils.ReadStruct <VehicleData_26>(data));
                        break;

                    case 27:
                        vd.AppendStruct(Utils.ReadStruct <VehicleData_27>(data));
                        break;

                    case 28:
                        vd.AppendStruct(Utils.ReadStruct <VehicleData_28>(data));
                        break;

                    default:
                        throw new Exception("Unsupported dossier cache vehicle version: " + vehicleVersion);
                    }
                    if (dossier.vehicles == null)
                    {
                        dossier.vehicles = new List <DossierVehicleData>();
                    }
                    dossier.vehicles.Add(vd);
                }


                return(dossier);
            }
            catch (Exception ex)
            {
                throw new Exception("", ex);
            }
        }
Exemple #19
0
 /// <summary>
 /// Checks if this dossier contains the note identified by <paramref name="id"/>.
 /// </summary>
 /// <param name="dossierData"></param>
 /// <param name="id">The id of the note to check for existance.</param>
 /// <returns></returns>
 public static bool HasNote(this DossierData dossierData, int id)
 {
     return(dossierData.Notes.Count(n => n.Id == id) > 0);
 }
Exemple #20
0
 /// <summary>
 /// Checks if the dossier contains the note specified by <paramref name="noteData"/>.
 /// </summary>
 /// <param name="dossierData"></param>
 /// <param name="noteData">The note to check for existance.</param>
 /// <returns></returns>
 public static bool HasNote(this DossierData dossierData, NoteData noteData)
 {
     return(dossierData.HasNote(noteData.Id));
 }
Exemple #21
0
 /// <summary>
 /// Gets the detail identified by <paramref name="id"/>.
 /// </summary>
 /// <param name="dossierData"></param>
 /// <param name="id">The id of the detail to retrieve.</param>
 /// <returns></returns>
 public static DossierDetailData GetDetail(this DossierData dossierData, int id)
 {
     return(dossierData.Details.FirstOrDefault(d => d.Id == id));
 }
Exemple #22
0
 /// <summary>
 /// Gets the note identified by <paramref name="id"/>.
 /// </summary>
 /// <param name="dossierData"></param>
 /// <param name="id">The id of the note to retrieve.</param>
 /// <returns></returns>
 public static NoteData GetNote(this DossierData dossierData, int id)
 {
     return(dossierData.Notes.FirstOrDefault(n => n.Id == id));
 }