/// <summary> /// Supprimer definitivement un document /// </summary> /// <returns></returns> //[PrincipalPermission(SecurityAction.Demand, Role = Clearances.StaffDelete)] public bool DeleteDocument(Guid documentGuid) { using (var db = new StationContext()) { db.Set <Document>().Remove(db.Set <Document>().Find(documentGuid)); return(db.SaveChanges() > 0); } }
/// <summary> /// Supprimer un chat /// </summary> /// <param name="chatGuid"></param> /// <returns></returns> public bool DeleteChat(Guid chatGuid) { using (var db = new StationContext()) { var oldConversation = db.Set <Chat>().Find(chatGuid); oldConversation.IsDeleted = true; oldConversation.DeleteUserGuid = Guid.Empty; db.Set <Chat>().Attach(oldConversation); db.Entry(oldConversation).State = EntityState.Modified; return(db.SaveChanges() > 0); } }
public async Task <bool> Post(Fuel myFuel) { using (var db = new StationContext()) { if (myFuel.FuelGuid == Guid.Empty) { myFuel.FuelGuid = Guid.NewGuid(); } myFuel.DateAdded = DateTime.Now; myFuel.LastEditDate = DateTime.Now; db.Fuels.Add(myFuel); if (!myFuel.Prices.Any()) { return(db.SaveChanges() > 0); } if (myFuel.Prices.First().PriceGuid == Guid.Empty) { myFuel.Prices.First().PriceGuid = Guid.NewGuid(); } myFuel.Prices.First().ProductGuid = myFuel.FuelGuid; myFuel.Prices.First().FromDate = DateTime.Now; db.Set <Price>().Add(myFuel.Prices.First()); return(await db.SaveChangesAsync() > 0); } }
/// <summary> /// Represente un client /// </summary> /// <param name="newCustomer"></param> /// <exception cref="InvalidOperationException">CAN_NOT_CREAT_STAFF_PROFILE</exception> /// <returns></returns> //[PrincipalPermission(SecurityAction.Demand, Role = SecurityClearances.CustomerWrite)] public bool AddCustomer(Customer newCustomer) { Guard.WhenArgument(newCustomer.Person.FullName, "CUSTOMER_NAME_CAN_NOT_BE_EMPTY").IsNullOrEmpty().IsEqual("Inconnue").Throw(); using (var db = new StationContext()) { if (newCustomer.CustomerGuid == Guid.Empty) { newCustomer.CustomerGuid = Guid.NewGuid(); } if (newCustomer.Person.PersonGuid == Guid.Empty) { newCustomer.Person.PersonGuid = Guid.NewGuid(); } // ReSharper disable once PossibleNullReferenceException var userTrace = (Guid)Membership.GetUser().ProviderUserKey; newCustomer.DateAdded = DateTime.Now; newCustomer.AddUserGuid = userTrace; newCustomer.LastEditDate = DateTime.Now; newCustomer.LastEditUserGuid = userTrace; db.Set <Person>().Add(newCustomer.Person); db.Customers.Add(newCustomer); return(db.SaveChanges() > 0); } }
/// <summary> /// Creer Nouvelle Conversation /// </summary> /// <param name="newChat"></param> /// <returns></returns> public bool SaveChat(Chat newChat) { using (var db = new StationContext()) { if (newChat.Persons.Count < 2) { throw new InvalidOperationException("CONVERSATION_MUST_HAVE_AT_LEAST_TWO_PERSONS"); } if (newChat.ChatGuid == Guid.Empty) { newChat.ChatGuid = Guid.NewGuid(); } newChat.DateAdded = DateTime.Now; newChat.AddUserGuid = Guid.Empty; newChat.LastEditUserGuid = Guid.Empty; newChat.LastEditDate = DateTime.Now; //foreach (var talker in newConversation.Persons) //{ // if(talker.PersonGuid==Guid.Empty) // talker.PersonGuid=Guid.NewGuid(); // db.Set<Person>().Add(talker); //} foreach (var talk in newChat.Messages.Where(talk => talk.MessageGuid == Guid.Empty)) { talk.MessageGuid = Guid.NewGuid(); } db.Set <Chat>().Add(newChat); return(db.SaveChanges() > 0); } }
public async Task <bool> Post(FuelPrelevement myPrelevement) { using (var db = new StationContext()) { if (myPrelevement.PrelevementGuid == Guid.Empty) { myPrelevement.PrelevementGuid = Guid.NewGuid(); } var citerneGuid = db.Pompes.Find(myPrelevement.PompeGuid).CiterneGuid; if (citerneGuid != null) { myPrelevement.CiterneGuid = (Guid)citerneGuid; } else { throw new ArgumentException("CAN_NOT_FIND_CITERNE"); } myPrelevement.CurrentPrice = (await FuelManager.GetFuelCurrentPrice(db.Pompes.Find(myPrelevement.PompeGuid).Citerne.FuelGuid)); myPrelevement.DateAdded = DateTime.Now; myPrelevement.LastEditDate = DateTime.Now; db.Set <FuelPrelevement>().Add(myPrelevement); return(await db.SaveChangesAsync() > 0); } }
/// <summary> /// Return les nationalites des etudiants ainsi que des staffs /// </summary> /// <returns></returns> public IEnumerable AllNationalities() { var nationalities = new List <string>(); using (var db = new StationContext()) nationalities.AddRange(db.Set <Person>().Select(p => p.Nationality).ToList()); if (nationalities.Count != 0) { return(nationalities.Distinct()); } nationalities.Add("Maroc"); nationalities.Add("Mali"); nationalities.Add("US"); nationalities.Add("France"); nationalities.Add("Senegal"); nationalities.Add("Algerie"); nationalities.Add("Liberia"); nationalities.Add("Guinee"); nationalities.Add("Afrique Du Sud"); nationalities.Add("Nigeria"); nationalities.Add("Soudan"); nationalities.Add("Gambie"); nationalities.Add("Congo"); nationalities.Add("Burkina Fasso"); return(nationalities.Distinct()); }
/// <summary> /// La list des Documents d'une Personne /// </summary> /// <param name="personGuid"></param> /// <param name="maxResult"></param> /// <returns></returns> public IEnumerable GetPersonDocuments(Guid personGuid, int maxResult = 7) { using (var db = new StationContext()) { return((db.Set <Person>().Find(personGuid).Documents).Select( d => new Document { DocumentGuid = d.DocumentGuid, DocumentName = d.DocumentName, Description = d.Description, FileType = d.FileType }).OrderBy(d => d.DateAdded)); } }
public bool Put(FuelPrelevement myPrelevement) { using (var db = new StationContext()) { myPrelevement.LastEditDate = DateTime.Now; db.Set <FuelPrelevement>().Attach(myPrelevement); db.Entry(myPrelevement).State = EntityState.Modified; return(db.SaveChanges() > 0); } }
/// <summary> /// Represente un enseignant, proff, staff, qui a la possibilite de se connecter a l'Eschool /// </summary> /// <param name="document"></param> /// <returns></returns> //[PrincipalPermission(SecurityAction.Demand, Role = Clearances.StaffWrite)] public bool SaveDocument(Document document) { using (var db = new StationContext()) { if (document.DocumentGuid == Guid.Empty) { document.DocumentGuid = Guid.NewGuid(); } db.Set <Document>().Add(document); return(db.SaveChanges() > 0); } }
public bool UpdateStaff(Staff mStaff) { using (var db = new StationContext()) { db.Staffs.Attach(mStaff); db.Entry(mStaff).State = EntityState.Modified; db.Set <Person>().Attach(mStaff.Person); db.Entry(mStaff.Person).State = EntityState.Modified; return(db.SaveChanges() > 0); } }
/// <summary> /// Envoyer Un Chat /// </summary> /// <param name="newMessage"></param> /// <returns></returns> public bool PushChat(Message newMessage) { using (var db = new StationContext()) { if (db.Set <Person>().Find(newMessage.SenderGuid) == null) { throw new InvalidOperationException("SENDER_REFERENCE_NOT_FOUND"); } if (newMessage.MessageGuid == Guid.Empty) { newMessage.MessageGuid = Guid.NewGuid(); } if (db.Set <Chat>().Find(newMessage.ChatGuid) == null) { throw new InvalidOperationException("CONVERSATION_REFERENCE_NOT_FOUND"); } newMessage.DateAdded = DateTime.Now; newMessage.AddUserGuid = Guid.Empty; newMessage.LastEditUserGuid = Guid.Empty; newMessage.LastEditDate = DateTime.Now; if (newMessage.Attachement == null) { return(db.SaveChanges() > 0); } if (newMessage.Attachement.DocumentGuid == Guid.Empty) { newMessage.Attachement.DocumentGuid = Guid.NewGuid(); } db.Set <Document>().Add(newMessage.Attachement); db.Set <Message>().Add(newMessage); return(db.SaveChanges() > 0); } }
/// <summary> /// La liste des messages d'une personne /// </summary> /// <param name="personGuid"></param> /// <param name="fromDate"></param> /// <param name="toDate"></param> /// <param name="maxResult"></param> /// <returns></returns> public IEnumerable <ChatCard> GetChats(Guid personGuid, DateTime?fromDate = null, DateTime?toDate = null, int maxResult = 20) { using (var db = new StationContext()) { if (fromDate == null || toDate == null) { fromDate = DateTime.Today; toDate = DateTime.Today.AddDays(1); } return(db.Set <Person>().Find(personGuid).Chats .Where(c => c.IsDeleted && (c.DateAdded >= fromDate && c.DateAdded <= toDate)) .OrderByDescending(m => m.DateAdded) .Take(maxResult) .ToList() .Select(c => new ChatCard(c)) .ToList()); } }
/// <summary> /// /// </summary> /// <param name="myCustomer"></param> /// <returns></returns> //[PrincipalPermission(SecurityAction.Demand, Role = SecurityClearances.StaffWrite)] public bool UpdateCustomer(Customer myCustomer) { using (var db = new StationContext()) { // ReSharper disable once PossibleNullReferenceException var userTrace = (Guid)Membership.GetUser().ProviderUserKey; myCustomer.LastEditDate = DateTime.Now; myCustomer.LastEditUserGuid = userTrace; db.Customers.Attach(myCustomer); db.Entry(myCustomer).State = EntityState.Modified; db.Set <Person>().Attach(myCustomer.Person); db.Entry(myCustomer.Person).State = EntityState.Modified; return(db.SaveChanges() > 0); } }
/// <summary> /// Charger un chat avec ses messages /// </summary> /// <param name="chatGuid"></param> /// <param name="toDate"></param> /// <param name="maxChats"></param> /// <param name="markRead"></param> /// <param name="fromDate"></param> /// <returns></returns> public IEnumerable <MessageCard> GetMessages(Guid chatGuid, DateTime?fromDate = null, DateTime?toDate = null, int maxChats = 20, bool markRead = true) { //todo markRead using (var db = new StationContext()) { if (fromDate == null || toDate == null) { fromDate = DateTime.Today; toDate = DateTime.Today.AddDays(1); } return (db.Set <Chat>().Find(chatGuid).Messages .Where(c => c.IsDeleted && (c.DateAdded >= fromDate && c.DateAdded <= toDate)) .OrderByDescending(c => c.DateAdded) .Take(maxChats) .ToList() .Select(c => new MessageCard(c))); } }
public async Task <bool> AddStaff(Staff myStaff) { using (var db = new StationContext()) { if (myStaff.StaffGuid == Guid.Empty) { myStaff.StaffGuid = Guid.NewGuid(); } if (myStaff.Person.PersonGuid == Guid.Empty) { myStaff.Person.PersonGuid = Guid.NewGuid(); } await myStaff.Person.Validate(); db.Set <Person>().Add(myStaff.Person); db.Staffs.Add(myStaff); return(await db.SaveChangesAsync() > 0); } }
public async Task <bool> Post(Price newPrice) { using (var db = new StationContext()) { if (!db.Fuels.Any(f => f.FuelGuid == newPrice.ProductGuid)) { throw new InvalidOperationException("FUEL_REFERENCE_NOT_FOUND"); } if (newPrice.PriceGuid == Guid.Empty) { newPrice.PriceGuid = Guid.NewGuid(); } newPrice.DateAdded = DateTime.Now; newPrice.LastEditDate = DateTime.Now; db.Set <Price>().Add(newPrice); return(await db.SaveChangesAsync() > 0); } }
public async Task <bool> Post(Company newCompany) { using (var db = new StationContext()) { if (newCompany.CompanyGuid == Guid.Empty) { newCompany.CompanyGuid = Guid.NewGuid(); } if (newCompany.AddressGuid == Guid.Empty) { newCompany.AddressGuid = Guid.NewGuid(); } newCompany.Address.AddressGuid = newCompany.AddressGuid; newCompany.DateAdded = DateTime.Now; newCompany.LastEditDate = DateTime.Now; db.Companies.Add(newCompany); db.Set <Address>().Add(newCompany.Address); return(await db.SaveChangesAsync() > 0); } }
/// <summary> /// /// </summary> /// <param name="personGuid"></param> /// <returns></returns> public Person GetPerson(Guid personGuid) { using (var db = new StationContext()) return(db.Set <Person>().Find(personGuid)); }
/// <summary> /// Envoyer Un Message /// </summary> /// <param name="conversation"></param> /// <returns></returns> public bool SendMessage(Conversation conversation) { using (var db = new StationContext()) { if (db.Set <Person>().Find(conversation.SenderGuid) == null) { throw new InvalidOperationException("SENDER_REFERENCE_NOT_FOUND"); } if (conversation.MessageGuid == Guid.Empty) { conversation.MessageGuid = Guid.NewGuid(); } if (conversation.RecipientGuid == conversation.SenderGuid) { throw new InvalidOperationException("MESSAGE_SENDER_CAN_NOT_EGUAL_RECIPIENT"); } switch (conversation.MessageType) { case MessageType.Personal: if (db.Set <Person>().Find(conversation.RecipientGuid) == null) { throw new InvalidOperationException("RECIPIENT_REFERENCE_NOT_FOUND"); } break; case MessageType.Email: if (string.IsNullOrEmpty(conversation.RecipientEmail)) { conversation.RecipientEmail = db.Set <Person>().Find(conversation.RecipientGuid).EmailAdress; } if (!InputHelper.IsValidEmail(conversation.RecipientEmail)) { throw new InvalidOperationException("RECIPIENT_EMAIL_INVALID"); } var newMail = new MailMessage(); newMail.To.Add(new MailAddress(conversation.RecipientEmail)); newMail.Subject = conversation.Subject; newMail.Body = conversation.Content; if (EmailHelper.SendMailByGmail(newMail)) { conversation.DateAdded = DateTime.Now; conversation.LastEditDate = DateTime.Now; db.Conversations.Add(conversation); return(db.SaveChanges() > 0); } return(false); //case MessageType.ToClasse: // if(db.Classes.Find(conversation.RecipientGuid)==null) // throw new InvalidOperationException("CLASSE_REFERENCE_NOT_FOUND"); // break; } conversation.DateAdded = DateTime.Now; conversation.LastEditDate = DateTime.Now; db.Conversations.Add(conversation); if (conversation.Attachement != null) { db.Set <Document>().Add(conversation.Attachement); } return(db.SaveChanges() > 0); } }
/// <summary> /// Telecharger Attachement associer au message /// </summary> /// <param name="messageGuid"></param> /// <returns></returns> public Document DownloadAttachement(Guid messageGuid) { using (var db = new StationContext()) return(db.Set <Message>().Find(messageGuid).Attachement); }
/// <summary> /// Telecharger un document /// </summary> /// <param name="documentGuid"></param> /// <returns></returns> public Document DownloadDocument(Guid documentGuid) { using (var db = new StationContext()) { return(db.Set <Document>().Find(documentGuid)); } }
public FuelPrelevement GetPrelevement(Guid prelevGuid) { using (var db = new StationContext()) return(db.Set <FuelPrelevement>().Find(prelevGuid)); }