public HttpResponseMessage Get(string token, string start, string end) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); string[] startPart = start.Split('-'); DateTime startDate = new DateTime(Int32.Parse(startPart[0]) , Int32.Parse(startPart[1]) , Int32.Parse(startPart[2]) , Int32.Parse(startPart[3]) , Int32.Parse(startPart[4]) , Int32.Parse(startPart[5])); string[] endPart = end.Split('-'); DateTime endDate = new DateTime(Int32.Parse(endPart[0]) , Int32.Parse(endPart[1]) , Int32.Parse(endPart[2]) , Int32.Parse(endPart[3]) , Int32.Parse(endPart[4]) , Int32.Parse(endPart[5])); if (session != null) { //Validate storeID and FakturiID var data = database.Fakturies.Where(x => (x.Date <= endDate) && (x.Date >= startDate) && (x.StoreID == session.StoreID)).ToList(); //le agrego la lista de c/u data.ForEach( x => x.Items = database.FakturiArticles.Where(y => y.FakturiID == x.ID).ToList() ); if (data != null) { //Save last update session.LastUpdate = DateTime.Now; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, data); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.NotFound, "Fakturi not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// DELETE: api/Menu/5 // DELETE public HttpResponseMessage Delete(int id, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; Menu menu = database.Menues.ToList().FirstOrDefault(x => x.ID == id && (x.StoreID == session.StoreID)); if (menu == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Menu with Id = " + id.ToString() + " not found to delete")); } else { database.Menues.Remove(menu); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "DELETE MENU", Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "Delete Success"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbUpdateException dbEx) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// GET: api/Store/5 //READ //It should have permissions public HttpResponseMessage GetCompanyUsers(string token, int companyID) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); var SessionUser = database.Users.FirstOrDefault(x => x.ID == session.UserID); if (session != null) { if (SessionUser.UserLevel.ToLower() == "admin") { //Validate storeID and UserID List <User> userList = database.Users.Where(x => (x.CompanyID == companyID)).ToList(); if (userList != null) { //Save last update session.LastUpdate = DateTime.Now; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, userList); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.NotFound, "Users not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "You don't have privileges"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/Company //CREATE public HttpResponseMessage Post([FromBody] Company Company) { string errorStatus = " "; try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); errorStatus += " Before Find similar Company || "; var currentCompany = database.Companies.ToList().FirstOrDefault(x => x.Name == Company.Name); if (currentCompany != null) { database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "There is a Company with this name"); return(message); } else { database.Companies.Add(Company); errorStatus += " Before adding in the db || "; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "Create Success"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex + " || " + errorStatus)); } }
// GET: api/Shift public HttpResponseMessage Get(string token, string period) { try { string[] dPart = period.Split('-'); DateTime date = new DateTime(Int32.Parse(dPart[0]) , Int32.Parse(dPart[1]) , Int32.Parse(dPart[2]) , Int32.Parse(dPart[3]) , Int32.Parse(dPart[4]) , Int32.Parse(dPart[5])); using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Validate storeID and ShiftID var data = database.Shifts.ToList().Where(x => (x.TimeStart <= date) && (x.TimeEnd >= date) && (x.StoreID == session.StoreID)); if (data != null) { //Save last update session.LastUpdate = DateTime.Now; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, data); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.NotFound, "Shift not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
//GET //api/Session/ public HttpResponseMessage GetAll(string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { var SessionUser = database.Users.FirstOrDefault(x => x.ID == session.UserID); if (SessionUser.UserLevel.ToLower() == "admin") { var sessionList = database.Sessions.ToList(); var message = Request.CreateResponse(HttpStatusCode.OK, sessionList); return(message); } else { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "You don't have privileges")); } } else { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session")); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Get(string token, string InvoiceNumber, bool active = true) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Validate storeID and FakturiID var data = database.Fakturies.ToList().FirstOrDefault(x => (x.InvoiceNumber == InvoiceNumber) && (x.StoreID == session.StoreID)); //le agrego la lista de c/u data.Items = database.FakturiArticles.Where(y => y.FakturiID == data.ID).ToList(); if (data != null) { data.Items = database.FakturiArticles.Where(x => x.FakturiID == data.ID).ToList(); //Save last update session.LastUpdate = DateTime.Now; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, data); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.NotFound, "Fakturi not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// GET: api/Store/5 //READ public HttpResponseMessage Get(string token, int id) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { var SessionUser = database.Users.FirstOrDefault(x => x.ID == session.UserID); //Validate storeID and UserID User user = database.Users.ToList().FirstOrDefault(x => (x.ID == id) && ((x.StoreID == session.StoreID) || ((SessionUser.Type.ToLower() == "owner") && SessionUser.CompanyID == x.CompanyID)) ); if (user != null) { //Save last update session.LastUpdate = DateTime.Now; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, user); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.NotFound, "User not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
//// GET: api/Products //public IQueryable<Category> GetCategories() //{ // using (CompanyPosDBContext database = new CompanyPosDBContext()) // { // return database.Categories; // } //} // GET: api/Category public HttpResponseMessage Get(string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Validate storeID and CategoryID var data = database.Categories.ToList().Where(x => (x.StoreID == session.StoreID)); if (data != null) { //Save last update session.LastUpdate = DateTime.Now; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, data); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.NotFound, "Category not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// GET: api/ProductAmount/5 public HttpResponseMessage Get(string token, int id) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Validate storeID var ProductAmount = database.ProductAmounts.FirstOrDefault(x => (x.ID == id) && (x.StoreID == session.StoreID)); if (ProductAmount != null) { //Save last update session.LastUpdate = DateTime.Now; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, ProductAmount); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.NotFound, "ProductAmount not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
//// GET: api/Store //public HttpResponseMessage Get() //{ // try // { // using (CompanyPosDBContext database = new CompanyPosDBContext()) // { // List<Store> storeList = database.Stores.ToList(); // if (storeList != null) // { // var message = Request.CreateResponse(HttpStatusCode.OK, storeList); // return message; // } // else // { // var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); // return message; // } // } // } // catch (Exception ex) // { // return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex); // } //} // GET: api/Store/5 public HttpResponseMessage GetRead(string token, int id) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { Store store = database.Stores.ToList().FirstOrDefault(x => (x.ID == id)); if (store != null) { //Save last update session.LastUpdate = DateTime.Now; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, store); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.NoContent, "No asociated Store"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// GET: api/Company/ //public HttpResponseMessage GetAll() //{ // try // { // using (CompanyPosDBContext database = new CompanyPosDBContext()) // { // //Validate storeID and CompanyID // var data = database.Companies.ToList(); // if (data != null) // { // var message = Request.CreateResponse(HttpStatusCode.OK, data); // return message; // } // else // { // var message = Request.CreateResponse(HttpStatusCode.NotFound, "Companies not found"); // return message; // } // } // } // catch (Exception ex) // { // return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex); // } //} // GET: api/Company/5 public HttpResponseMessage GetCompany(int id, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { var SessionUser = database.Users.FirstOrDefault(x => x.ID == session.UserID); if (SessionUser.UserLevel.ToLower() == "admin") { //Validate storeID and CompanyID var data = database.Companies.ToList().FirstOrDefault(x => (x.Id == id)); if (data != null) { return(Request.CreateResponse(HttpStatusCode.OK, data)); } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "Company not found")); } } else { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "You don't have privileges")); } } else { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session")); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/Category //CREATE public HttpResponseMessage Post([FromBody] Category Category, string token) { string errorStatus = " "; try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); errorStatus += " Before Atutentication || "; Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; errorStatus += " Before Find similar category || "; var currentCategory = database.Categories.ToList().FirstOrDefault(x => x.Name.ToLower().Trim() == Category.Name.ToLower().Trim() && (x.StoreID == session.StoreID)); if (currentCategory != null) { database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "There is a Category with this name"); return(message); } else { Category.StoreID = session.StoreID; database.Categories.Add(Category); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE Category" , Date = DateTime.Now }); errorStatus += " Before adding in the db || "; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "Create Success"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex + " || " + errorStatus)); } }
// POST: api/Invoice //CREATE public HttpResponseMessage Post(int saleId, [FromBody] Invoice Invoice, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var currentInvoice = database.Invoices.ToList().FirstOrDefault(x => (x.SaleID == saleId) && (x.StoreID == session.StoreID)); if (currentInvoice != null) { database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "There is a Invoice with this name"); return(message); } else { if (!(database.Invoices.Any(x => x.SaleID == saleId && x.StoreID == session.StoreID))) { if ((database.Sales.Any(x => x.ID == saleId))) { if (Invoice.Date == null) { return(Request.CreateResponse(HttpStatusCode.OK, "Date not found." + Invoice.errorMessage)); } Invoice.StoreID = session.StoreID; Invoice.SaleID = saleId; database.Invoices.Add(Invoice); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE Invoice", Date = DateTime.Now }); database.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.Created, "Create Success")); } else { return(Request.CreateResponse(HttpStatusCode.OK, "Sale not found.")); } } else { return(Request.CreateResponse(HttpStatusCode.OK, "Sale has already an Invoice")); } } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (System.FormatException ex) { var message = Request.CreateResponse(HttpStatusCode.BadRequest, @"Bad Datetime format, it must be (YYYY-DD-MM-hh-mm-ss)"); return(message); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// PUT: api/Invoice/5 //UPDATE public HttpResponseMessage Put(int id, [FromBody] Invoice Invoice, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var currentInvoice = database.Invoices.ToList().FirstOrDefault(x => x.ID == id && (x.StoreID == session.StoreID)); if (currentInvoice != null) { currentInvoice.PaymentMethod = Invoice.PaymentMethod; if (Invoice.Date == null) { return(Request.CreateResponse(HttpStatusCode.OK, "Date not found.")); } //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "UPDATE Invoice", Date = DateTime.Now }); //update sale database.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.OK, "Update Success")); } else { return(Request.CreateResponse(HttpStatusCode.OK, "Invoice Not found")); } } else { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session")); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/Item (CREATE) public HttpResponseMessage Post([FromBody] Item Item, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var currentItem = database.Items.ToList().FirstOrDefault(x => x.Name == Item.Name && (x.StoreID == session.StoreID)); if (currentItem != null) { var message = Request.CreateResponse(HttpStatusCode.OK, "There is a Item with this name"); return(message); } else { var category = database.Categories.FirstOrDefault(x => (x.StoreID == session.StoreID) && (x.ID == Item.CategoryID)); //check existing categories if (category != null) { Item.StoreID = session.StoreID; database.Items.Add(Item); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE Item", Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "Create Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.OK, "Category not found"); return(message); } } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// PUT: api/Item/5 (UPDATE) public HttpResponseMessage Put(int id, [FromBody] Item Item, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var currentItem = database.Items.ToList().FirstOrDefault(x => x.ID == id && (x.StoreID == session.StoreID)); if (currentItem != null) { currentItem.Name = Item.Name; currentItem.UnitPrice = Item.UnitPrice; currentItem.CategoryID = Item.CategoryID; currentItem.Description = Item.Description; currentItem.ActiveForSale = Item.ActiveForSale; currentItem.Color = Item.Color ?? currentItem.Color; currentItem.Tax = Item.Tax; currentItem.On = Item.On; currentItem.Cost = Item.Cost; currentItem.AttributesOn = Item.AttributesOn; //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE Item", Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "Update Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.OK, "Item Not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// PUT: api/User/5 //UPDATE public HttpResponseMessage Put(string uuid, [FromBody] User user, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { if (user.UUID == null || user.UUID.Trim().Equals("")) { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "UUID not specified")); } var currentCompanyID = database.Stores.FirstOrDefault(x => x.ID == session.StoreID); //Save last update session.LastUpdate = DateTime.Now; var currentUser = database.Users.ToList().FirstOrDefault(x => x.UUID == uuid && (x.StoreID == session.StoreID)); if (currentUser != null) { currentUser.LastName = user.LastName; currentUser.UserLevel = user.UserLevel; currentUser.Username = user.Username; currentUser.Email = user.Email; currentUser.FirstName = user.FirstName; currentUser.Phone = user.Phone; currentUser.Status = user.Status; currentUser.UUID = user.UUID; currentUser.CompanyID = currentUser.CompanyID ?? Int32.Parse(currentCompanyID.CompanyID.ToString()); if (user.Password != null) { currentUser.Password = user.Password; } //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE USER", Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "Update Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.OK, "User Not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/User //CREATE public HttpResponseMessage Post([FromBody] User user, string token, int?storeID) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { var sessionUser = database.Users.ToList().FirstOrDefault(x => (x.ID == session.UserID)); if (user.UUID == null || user.UUID.Trim().Equals("")) { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "UUID not specified")); } //Save last update session.LastUpdate = DateTime.Now; var currentUser = database.Users.ToList().FirstOrDefault(x => x.UUID == user.UUID && (x.StoreID == session.StoreID)); if (currentUser != null) { database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "There is a user with this UUID"); return(message); } else { if (database.Users.ToList().Any(x => (x.ClerkNum == user.ClerkNum) && (x.StoreID == session.StoreID))) { return(Request.CreateResponse(HttpStatusCode.OK, "ClerkNum Already exists")); } //Save last update var currentCompanyID = database.Stores.FirstOrDefault(x => x.ID == session.StoreID); if (currentCompanyID == null) { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "Wrong StoreID" + " SessionId: " + session.ID)); } else { user.CompanyID = currentCompanyID.CompanyID; } if (storeID == null) { user.StoreID = session.StoreID; } else { var newStore = database.Companies.FirstOrDefault(x => x.Id == user.CompanyID).Stores.First(y => y.ID == storeID); if (newStore != null) { user.StoreID = newStore.ID; } else { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "Wrong StoreID")); } } if (sessionUser.Type != "OWNER") { database.Users.Add(user); //SAVE ACTIVITY //database.UserActivities.Add(new UserActivity() //{ // StoreID = session.StoreID // , // UserID = session.UserID // , // Activity = "CREATE USER", // Date = DateTime.Now //}); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "Create Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "You cannot create an Owner"); return(message); } } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx + " " + dbEx.Message)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex + " " + ex.Message)); } }
// POST: api/TimeTable //CREATE public HttpResponseMessage Post([FromBody] TimeTable TimeTable, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var user = database.Users.ToList().FirstOrDefault(x => (x.ID == TimeTable.UserID) && (x.StoreID == TimeTable.StoreID) && (x.CompanyID == TimeTable.CompanyID)); // If there is no combination, some of the parameters are wrong or missed if (user == null) { return(Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "User in (Store,Company) not found")); } var currentTimeTable = database.TimeTables.ToList().FirstOrDefault( x => x.TimeIn.Equals(TimeTable.TimeIn) && x.TimeOut.Equals(TimeTable.TimeOut)); if (currentTimeTable != null) { database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "There is a TimeTable with this TimeIn/Out Configuration"); return(message); } else { TimeTable.StoreID = session.StoreID; TimeTable.Date = DateTime.Now; TimeTable.CompanyID = database.Stores.FirstOrDefault(x => x.ID == session.StoreID).CompanyID; database.TimeTables.Add(TimeTable); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE TimeTable" , Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "Create Success"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// PUT: api/Shift/5 //UPDATE public HttpResponseMessage Put(int id, [FromBody] Shift Shift, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var currentShift = database.Shifts.ToList().FirstOrDefault(x => x.ID == id && (x.StoreID == session.StoreID)); if (currentShift != null) { currentShift.Status = Shift.Status; currentShift.TimeEnd = Shift.TimeEnd; currentShift.TimeStart = Shift.TimeStart; currentShift.OpeningAmount = Shift.OpeningAmount; currentShift.ClosingAmount = Shift.ClosingAmount; //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE Shift", Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "Update Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.OK, "Shift Not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Put(int id, FakturiArticle Item, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var currentFakturiArticle = database.FakturiArticles.ToList().FirstOrDefault(x => x.ID == id && (x.StoreID == session.StoreID)); if (currentFakturiArticle != null) { //Validate storeID and FakturiID var data = database.Fakturies.ToList().FirstOrDefault(x => (x.ID == Item.FakturiID) && (x.StoreID == session.StoreID)); if (data != null) { var ItemWithProduct = database.ProductTables.ToList().FirstOrDefault(x => (x.ID == Item.ProductTableID) && (x.StoreID == session.StoreID)); if (ItemWithProduct != null) { currentFakturiArticle.Unit = Item.Unit ?? currentFakturiArticle.Unit; currentFakturiArticle.Item = Item.Item ?? currentFakturiArticle.Item; currentFakturiArticle.Qty = Item.Qty; currentFakturiArticle.Price = Item.Price ?? currentFakturiArticle.Price; currentFakturiArticle.Tax = Item.Tax ?? currentFakturiArticle.Tax; //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE FakturiArticle" , Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "Update Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.NotFound, "Product not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.NotFound, "Fakturi not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.OK, "FakturiArticle Not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/Menu // CREATE public HttpResponseMessage Post([FromBody] Menu Menu, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var currentMenu = database.Menues.ToList().FirstOrDefault(x => x.StoreID == session.StoreID); if (currentMenu != null) { database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "There is already a menu on this store"); return(message); } else { Menu.StoreID = session.StoreID; database.Menues.Add(Menu); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE MENU", Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "Create Success"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// PUT: api/Associate/5 //UPDATE public HttpResponseMessage Put(int id, [FromBody] Associate Associate, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var currentAssociate = database.Associates.ToList().FirstOrDefault(x => x.ID == id && (x.StoreID == session.StoreID)); if (currentAssociate != null) { currentAssociate.Name = Associate.Name; currentAssociate.Address = Associate.Address ?? currentAssociate.Address; currentAssociate.Bulstat = Associate.Bulstat ?? currentAssociate.Bulstat; currentAssociate.City = Associate.City ?? currentAssociate.City; currentAssociate.Country = Associate.Country ?? currentAssociate.Country; currentAssociate.Email = Associate.Email ?? currentAssociate.Email; currentAssociate.PhoneNumber = Associate.PhoneNumber ?? currentAssociate.PhoneNumber; currentAssociate.PostalCode = Associate.PostalCode ?? currentAssociate.PostalCode; //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE Associate" , Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "Update Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.OK, "Associate Not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/Store public HttpResponseMessage PostCreate([FromBody] Store store, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { Store currentStore = database.Stores.ToList().FirstOrDefault(x => x.Name == store.Name); if (currentStore != null) { //Save last update currentStore.CompanyID = database.Stores.FirstOrDefault(x => x.ID == session.StoreID).CompanyID; session.LastUpdate = DateTime.Now; database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.NotModified, "There is a store with this name"); return(message); } else { var User = database.Users.FirstOrDefault(x => (x.UserLevel == "admin") && x.ID == session.UserID); if (User != null) { store.CompanyID = database.Stores.FirstOrDefault(x => x.ID == session.StoreID).CompanyID; database.Stores.Add(store); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE STORE", Date = DateTime.Now } ); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "Create Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "The user does not have privileges for this operation"); return(message); } } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// PUT: api/ItemPagePosition/5 //UPDATE public HttpResponseMessage Put(int id, [FromBody] ItemPagePosition ItemPagePosition, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; //First I check if the new positions are free var currentItemPagePosition = database.ItemPagePositions .ToList() .FirstOrDefault(x => (x.MenuID == ItemPagePosition.MenuID) && (x.MenuPage_ID == ItemPagePosition.MenuPage_ID) && (x.hPos == ItemPagePosition.hPos) && (x.vPos == ItemPagePosition.vPos) && (x.StoreID == session.StoreID)); if (currentItemPagePosition != null) { database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "There is a ItemPagePosition in this position"); return(message); } //Get the currentItemPagePosition to update currentItemPagePosition = database.ItemPagePositions.ToList().FirstOrDefault(x => (x.ID == id) && (x.MenuPage_ID == x.MenuPage_ID) && (x.StoreID == session.StoreID)); if (currentItemPagePosition != null) { currentItemPagePosition.hPos = ItemPagePosition.hPos; currentItemPagePosition.vPos = ItemPagePosition.vPos; //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE ItPagePos", Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "Update Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.OK, "ItemPagePosition Not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// PUT: api/Sale/5 //UPDATE public HttpResponseMessage Put(int id, [FromBody] Sale Sale, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var currentSale = database.Sales.ToList().FirstOrDefault(x => x.ID == id && (x.StoreID == session.StoreID)); if (currentSale != null) { var shiftToFind = database.Shifts.FirstOrDefault(x => x.ID == Sale.ShiftID && session.StoreID == x.StoreID); if ((shiftToFind != null) && (shiftToFind.Status == "OPEN")) { currentSale.Title = Sale.Title; currentSale.DiscountAmount = Sale.DiscountAmount; currentSale.DiscountRate = Sale.DiscountRate; currentSale.TaxAmunt = Sale.TaxAmunt; currentSale.TaxRate = Sale.TaxRate; currentSale.TotalPrice = Sale.TotalPrice; currentSale.SubtotalPrice = Sale.SubtotalPrice; currentSale.Status = Sale.Status; currentSale.UserID = Sale.UserID; currentSale.ShiftID = Sale.ShiftID; //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE Sale", Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "Update Success"); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.OK, "Shift not found or not OPEN"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.OK, "Sale Not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/Sale //CREATE public HttpResponseMessage Post([FromBody] Sale Sale, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var shiftToFind = database.Shifts.FirstOrDefault(x => x.ID == Sale.ShiftID && session.StoreID == x.StoreID); if ((shiftToFind != null) && (shiftToFind.Status == "OPEN")) { Sale.StoreID = session.StoreID; Sale.Date = DateTime.Now; //Create Transaction Number Sale.TransactionNumber = Math.Abs((decimal)DateTime.Now.GetHashCode() * 1000 + (decimal)DateTime.Now.AddDays(-7).GetHashCode()).ToString(); database.Sales.Add(Sale); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE Sale" , Date = DateTime.Now }); database.SaveChanges(); return(Request.CreateResponse(HttpStatusCode.Created, Sale.ID)); } else { return(Request.CreateResponse(HttpStatusCode.OK, "Shift not found or not OPEN")); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// DELETE: api/Category/5 //DELETE public HttpResponseMessage Delete(int id, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; var Category = database.Categories.ToList().FirstOrDefault(x => x.ID == id && (x.StoreID == session.StoreID)); if (Category == null) { return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Category with Id = " + id.ToString() + " not found to delete")); } else { database.Categories.Remove(Category); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "DELETE Category" , Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.OK, "Delete Success"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
// POST: api/ProductAmount (CREATE) public HttpResponseMessage Post([FromBody] ProductAmount ProductAmount, string token) { try { using (CompanyPosDBContext database = new CompanyPosDBContext()) { SessionController sessionController = new SessionController(); Session session = sessionController.Autenticate(token); if (session != null) { //Save last update session.LastUpdate = DateTime.Now; //Validate storeID var Item = database.Items.FirstOrDefault(x => x.StoreID == session.StoreID && x.ID == ProductAmount.ItemID); if (Item != null) { var Product = database.ProductTables.FirstOrDefault(x => x.StoreID == session.StoreID && x.ID == ProductAmount.ProductID); if (Product != null) { //var currentProductAmount = Item.ID; //if ((currentProductAmount != null) && (currentProductAmount.ToList().Exists(x => (x.Name == ProductAmount.Name)))) //{ // var message = Request.CreateResponse(HttpStatusCode.OK, "There is an ProductAmount with this name"); // return message; //} //else //{ ProductAmount.StoreID = session.StoreID; database.ProductAmounts.Add(ProductAmount); //SAVE ACTIVITY database.UserActivities.Add(new UserActivity() { StoreID = session.StoreID , UserID = session.UserID , Activity = "CREATE ProductAmount", Date = DateTime.Now }); database.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created, "Create Success"); return(message); //} } else { var message = Request.CreateResponse(HttpStatusCode.OK, "Product not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.OK, "Item not found"); return(message); } } else { var message = Request.CreateResponse(HttpStatusCode.MethodNotAllowed, "No asociated Session"); return(message); } } } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, dbEx)); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }