public HttpResponseMessage UpdateOrderStatus(string OitmID, [FromBody] Table_OrderDetails od) { try { string email = Thread.CurrentPrincipal.Identity.Name; using (OMSdbEntities entities = new OMSdbEntities()) { string AdminName = (from ad in entities.AppAdministrators where ad.AdminEmail == email select ad.AdminName).FirstOrDefault(); if (entities.AppAdministrators.Any(ad => ad.AdminEmail == email && ad.AdminName == AdminName || AdminName != null)) { var entity = entities.Table_OrderDetails.FirstOrDefault(e => e.OrderItemID == OitmID && e.OrderStatus != "Completed"); entity.OrderStatus = od.OrderStatus; entities.SaveChanges(); var message = Request.CreateResponse(HttpStatusCode.Created); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.Unauthorized); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage UpdateOrderQuantity(string oItmID, int qtty) { try { string email = Thread.CurrentPrincipal.Identity.Name; using (OMSdbEntities entities = new OMSdbEntities()) { Table_OrderDetails od = new Table_OrderDetails(); string BuyerID = (from b in entities.Buyers where b.Email == email select b.BuyerID).FirstOrDefault(); string BuyerName = (from b in entities.Buyers where b.Email == email select b.BuyerName).FirstOrDefault(); if (entities.Buyers.Any(buyer => buyer.BuyerID.Equals(BuyerID) && buyer.BuyerName.Equals(BuyerName) || BuyerID != null || BuyerName != null)) { if (entities.Table_OrderDetails.Any(odrs => odrs.OrderItemID.Equals(oItmID) && odrs.BuyerID.Equals(BuyerID))) { Nullable <int> CurrentOrderQtty = (from ord in entities.Table_OrderDetails where ord.OrderItemID.Equals(oItmID) && ord.OrderStatus != "Completed" select ord.OrderQuantity).FirstOrDefault(); string ProductID = (from pr in entities.Table_OrderDetails where pr.OrderItemID.Equals(oItmID) select pr.ProductID).FirstOrDefault(); var entiti = entities.Table_OrderDetails.FirstOrDefault(e => e.OrderItemID.Equals(oItmID) && e.OrderStatus != "Completed"); entiti.OrderQuantity = CurrentOrderQtty + (qtty); Nullable <int> avilableQuantity = (from p in entities.Table_ProductsDetails where p.ProductID == ProductID select p.AvailableQuantity).FirstOrDefault(); var proEntity = entities.Table_ProductsDetails.FirstOrDefault(e => e.ProductID.Equals(ProductID)); proEntity.AvailableQuantity = avilableQuantity + (-qtty); entities.SaveChanges(); string msg = "quantity Updated Successfully"; return(Request.CreateResponse(HttpStatusCode.Accepted, msg)); } else { string msg = "Either The Product has not been ordered yet OR you are unautharized To update the Order"; return(Request.CreateResponse(HttpStatusCode.BadRequest, msg)); } } else { var message = Request.CreateResponse(HttpStatusCode.Unauthorized); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage PlaceOrder(string ProID, int ordQty) { try { string email = Thread.CurrentPrincipal.Identity.Name; using (OMSdbEntities entities = new OMSdbEntities()) { Table_OrderDetails od = new Table_OrderDetails(); string BuyerID = (from b in entities.Buyers where b.Email == email select b.BuyerID).FirstOrDefault(); string BuyerName = (from b in entities.Buyers where b.Email == email select b.BuyerName).FirstOrDefault(); if (entities.Buyers.Any(buyer => buyer.BuyerID.Equals(BuyerID) && buyer.BuyerName.Equals(BuyerName) || BuyerID != null || BuyerName != null)) { if (entities.Table_ProductsDetails.Any(pro => pro.ProductID.Equals(ProID))) { od.OrderID = "OD" + BuyerID; od.OrderItemID = "OD" + BuyerID + ProID; if (entities.Table_OrderDetails.Any(odrs => odrs.OrderItemID.Equals(od.OrderItemID) && odrs.OrderStatus != "Completed")) { string messg = "Product Already present in Previous Order Please Update Your Previous Order"; return(Request.CreateResponse(HttpStatusCode.Ambiguous, messg)); } else { od.BuyerEmail = email; od.BuyerID = BuyerID; od.OrderQuantity = ordQty; od.ProductID = ProID; od.OrderStatus = "Placed"; entities.Table_OrderDetails.Add(od); } } else { string msg = "Product Not Found"; return(Request.CreateResponse(HttpStatusCode.NotFound, msg)); } Nullable <int> avilableQuantity = (from p in entities.Table_ProductsDetails where p.ProductID == ProID select p.AvailableQuantity).FirstOrDefault(); var entity = entities.Table_ProductsDetails.FirstOrDefault(p => p.ProductID == ProID); entity.AvailableQuantity = avilableQuantity - ordQty; entities.SaveChanges(); //Sending EMail to gmail MailMessage mm = new MailMessage(); mm.From = new MailAddress("*****@*****.**"); mm.To.Add(email); mm.Subject = "OMS Order"; mm.Body = "Your Order has been successfully placed "; mm.IsBodyHtml = false; SmtpClient smtp = new SmtpClient("smtp.gmail.com"); smtp.UseDefaultCredentials = true; smtp.Port = 587; smtp.EnableSsl = true; smtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "doitb4udie"); smtp.Send(mm); var message = Request.CreateResponse(HttpStatusCode.Created, od); message.Headers.Location = new Uri(Request.RequestUri + od.OrderID.ToString()); return(message); } else { var message = Request.CreateResponse(HttpStatusCode.Unauthorized); return(message); } } } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } }