public HttpResponseMessage AddItemPrice(Entities.MstArticlePrice objItemPrice, String itemId) { try { var currentUser = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { var currentUserId = currentUser.FirstOrDefault().Id; var userForms = from d in db.MstUserForms where d.UserId == currentUserId && d.SysForm.FormName.Equals("ItemDetail") select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanAdd) { var item = from d in db.MstArticles where d.Id == Convert.ToInt32(itemId) && d.ArticleTypeId == 1 select d; if (item.Any()) { if (!item.FirstOrDefault().IsLocked) { Data.MstArticlePrice newItemPrice = new Data.MstArticlePrice { ArticleId = Convert.ToInt32(itemId), PriceDescription = objItemPrice.PriceDescription, Price = objItemPrice.Price, Remarks = objItemPrice.Remarks }; db.MstArticlePrices.InsertOnSubmit(newItemPrice); db.SubmitChanges(); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "You cannot add new price if the current item detail is locked.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "These current item details are not found in the server. Please add new item first before proceeding.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add new price in this item detail page.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access in this item detail page.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }
public HttpResponseMessage AddItemPrice(Entities.MstArticlePrice objItemPrice, String itemId) { try { var currentUser = from d in db.MstUsers where d.UserId == User.Identity.GetUserId() select d; if (currentUser.Any()) { var currentUserId = currentUser.FirstOrDefault().Id; var userForms = from d in db.MstUserForms where d.UserId == currentUserId && d.SysForm.FormName.Equals("ItemDetail") select d; if (userForms.Any()) { if (userForms.FirstOrDefault().CanAdd) { var item = from d in db.MstArticles where d.Id == Convert.ToInt32(itemId) && d.ArticleTypeId == 1 select d; if (item.Any()) { if (!item.FirstOrDefault().IsLocked) { String standardCaseVariablePrice = "Variable"; Boolean isVariablePriceRestriction = false; if (string.Equals(standardCaseVariablePrice, objItemPrice.PriceDescription.Trim(), StringComparison.OrdinalIgnoreCase)) { isVariablePriceRestriction = true; } if (isVariablePriceRestriction) { if (objItemPrice.Price == Convert.ToDecimal(1)) { Data.MstArticlePrice newItemPrice = new Data.MstArticlePrice { ArticleId = Convert.ToInt32(itemId), PriceDescription = objItemPrice.PriceDescription, Price = objItemPrice.Price, Remarks = objItemPrice.Remarks }; db.MstArticlePrices.InsertOnSubmit(newItemPrice); db.SubmitChanges(); String newObject = at.GetObjectString(newItemPrice); at.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, "NA", newObject); return(Request.CreateResponse(HttpStatusCode.OK)); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid Price Description.")); } } else { Data.MstArticlePrice newItemPrice = new Data.MstArticlePrice { ArticleId = Convert.ToInt32(itemId), PriceDescription = objItemPrice.PriceDescription, Price = objItemPrice.Price, Remarks = objItemPrice.Remarks }; db.MstArticlePrices.InsertOnSubmit(newItemPrice); db.SubmitChanges(); String newObject = at.GetObjectString(newItemPrice); at.InsertAuditTrail(currentUser.FirstOrDefault().Id, GetType().Name, MethodBase.GetCurrentMethod().Name, "NA", newObject); return(Request.CreateResponse(HttpStatusCode.OK)); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "You cannot add new price if the current item detail is locked.")); } } else { return(Request.CreateResponse(HttpStatusCode.NotFound, "These current item details are not found in the server. Please add new item first before proceeding.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no rights to add new price in this item detail page.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Sorry. You have no access in this item detail page.")); } } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Theres no current user logged in.")); } } catch (Exception e) { Debug.WriteLine(e); return(Request.CreateResponse(HttpStatusCode.InternalServerError, "Something's went wrong from the server.")); } }