/// <summary> /// api/getCustomer // ارسال مشخصات یک مشتری /// </summary> /// <param name="phone">شماره تماس</param> /// <returns>مشخصات کاربر</returns> public AllClass.EditCustomer Get(string id) { Models.AndycabarDB db = new Models.AndycabarDB(); var data = db.Users .Where(x => x.Mobile == id).ToList(); if (data.Count() > 0) { AllClass.EditCustomer ed = new AllClass.EditCustomer(); ed.name = data[0].Name; int iduser = data[0].Id; var data2 = db.Customers .Where(x => x.UserId == iduser).ToList(); if (data2.Count() > 0) { ed.email = data2[0].Email; } ed.phone = id; return(ed); } else { return(null); } }
/// <summary> /// api/getOneProduct /// مشخصات یک محصول /// </summary> /// <param name="barcode">بارکد</param> /// <returns>مشخصات یک کالا </returns> public AllClass.Product Post(AllClass.Barcode barcode) { Models.AndycabarDB db = new Models.AndycabarDB(); var data = db.v_ProductDetails .Where(x => x.Barcode == barcode.barcode).ToList(); if (data.Count() > 0) { AllClass.Product pr = new AllClass.Product(); pr.barcode = data[0].Barcode; pr.salePrice = data[0].SalePrice.ToString(); pr.companyCost = (data[0].CompanyCost + data[0].Profit).ToString(); pr.groupId = data[0].GroupId.ToString(); pr.detailedName = data[0].DetailedName; pr.description = data[0].Description; if (data[0].Image != null) { pr.pic = Convert.ToBase64String(data[0].Image); } return(pr); } else { return(null); } }
/// <summary> /// api/insertGroup // ایجاد گروه کالا توسط کارشناس /// </summary> /// <param name="group"> /// businessId /// name /// pic /// </param> /// <returns> /// true /// /// </returns> public string Post(AllClass.Group group) { Models.AndycabarDB db = new Models.AndycabarDB(); Models.Group tb = new Models.Group(); tb.Name = group.name; tb.BusinessId = int.Parse(group.businessId); if (group.pic != null) { tb.Image = Convert.FromBase64String(group.pic); } db.Groups.Add(tb); db.SaveChanges(); return("true"); }
/// <summary> /// // api/RecentFactorsCustomer // دریافت فاکتور های مشتری /// </summary> /// <param name="phone">موبایل</param> /// <returns> /// لیست فاکتور ها /// </returns> public List <Models.v_Factors> Post(AllClass.Phone phone) { Models.AndycabarDB db = new Models.AndycabarDB(); var data = db.Users .Where(x => x.Mobile == phone.phone).ToList(); if (data.Count() > 0) { return(db.v_Factors.Where(x => x.CustomerId == data[0].Id).ToList()); } else { return(null); } }
/// <summary> /// api/getVerificationCode /// تایید کد ارسال شده /// </summary> /// <param name="checkPhone">شماره تلفن /// کد احراز</param> /// <returns> /// true /// false /// </returns> public string Post([FromBody] AllClass.CheckPhone checkPhone) { Models.AndycabarDB db = new Models.AndycabarDB(); int code = int.Parse(checkPhone.VerificationCode); var data = db.Users .Where(x => x.Mobile == checkPhone.phone && x.VerificationCode == code).ToList(); if (data.Count > 0) { return(data[0].Type); } else { return(null); } }
/// <summary> /// api/insertProduct /// ذخیره کردن محصول /// </summary> /// <param name="product"> /// </param> /// <returns> /// true /// </returns> public string Post(AllClass.Product product) { Models.AndycabarDB db = new Models.AndycabarDB(); Models.Product tb = new Models.Product(); tb.Id = long.Parse(product.barcode); tb.CompanyCost = decimal.Parse(product.companyCost); tb.Description = product.description; tb.DetailedName = product.detailedName; tb.GroupId = int.Parse(product.groupId); tb.SalePrice = decimal.Parse(product.salePrice); tb.Image = Convert.FromBase64String(product.pic); tb.Profit = ((decimal.Parse(product.salePrice) - decimal.Parse(product.companyCost)) / 2) + decimal.Parse(product.companyCost); db.Products.Add(tb); db.SaveChanges(); return("true"); }
/// <summary> /// api/getAmount // دریافت موجودی کاربر /// </summary> /// <param name="phone"></param> /// <returns></returns> public string Post(AllClass.Phone phone) { Models.AndycabarDB db = new Models.AndycabarDB(); var data = db.Users .Where(x => x.Mobile == phone.phone) .ToList(); if (data.Count() > 0) { int id = data[0].Id; return(db.Transactions .Where(x => x.CustomerId == id) .Sum(x => x.Amount).ToString()); } else { return("0"); } }
/// <summary> /// جستجو محصولات /// </summary> /// <param name="name">مقدار جستجوی ترکیبی</param> /// <returns>لیست محصولات</returns> public List <Models.Product> Post(AllClass.ProductName name) { Models.AndycabarDB db = new Models.AndycabarDB(); return(db.v_ProductSearch .Where(x => x.ProductName.Contains(name.name) || x.GroupName.Contains(name.name) || x.BusinessName.Contains(name.name)) .Select(x => new Models.Product { GroupId = x.GroupId, Id = x.productId, SalePrice = x.SalePrice, CompanyCost = x.CompanyCost, Profit = x.Profit, Description = x.Description, DetailedName = x.ProductName , Image = x.imageProduct }).ToList()); }
/// <summary> /// api/insertBascket ///ذخیره سبد خرید /// </summary> /// <param name="bascket"> /// بارکد کالا /// موبایل /// </param> /// <returns> /// جمع قیمت سبد /// </returns> public string Post([FromBody] AllClass.Bascket bascket) { string[] data = bascket.barcode.Split(','); Models.AndycabarDB db = new Models.AndycabarDB(); decimal sum = 0; foreach (var item in data) { var product = db.v_ProductSearch. Where(x => x.Barcode == item).FirstOrDefault(); sum += (decimal)(product.CompanyCost + product.Profit); } var user = db.Users .Where(x => x.Mobile == bascket.phone).FirstOrDefault(); Models.Transaction tb = new Models.Transaction(); tb.Amount = sum; tb.CustomerId = user.Id; tb.Submit = DateTime.Now; db.Transactions.Add(tb); var id = db.Transactions .Where(x => x.CustomerId == user.Id) .OrderByDescending(x => x.Id) .Select(x => x.Id).FirstOrDefault(); int id1 = id; foreach (var item in data) { var product = db.v_ProductSearch .Where(x => x.Barcode == item).FirstOrDefault(); Models.Associtation_TransactionProduct tb1 = new Models.Associtation_TransactionProduct(); tb1.TransactionId = id; tb1.ProductId = product.productId; db.Associtation_TransactionProduct.Add(tb1); db.SaveChanges(); } return(sum.ToString()); }
/// <summary> /// api/editCustomer /// ویرایش پروفایل مشتری /// </summary> /// <param name="customer"> /// name // email //phone //</param> /// <returns> /// true string /// false string /// </returns> public string Post(string id, AllClass.EditCustomer customer) { Models.AndycabarDB db = new Models.AndycabarDB(); var a = db.Users.Where(x => x.Mobile == customer.phone).ToList(); if (a.Count > 0) { var data = db.Users .Where(x => x.Mobile == customer.phone) .FirstOrDefault(); data.Name = customer.name; db.SaveChanges(); var b = db.Customers.Where(x => x.UserId == data.Id).ToList(); if (b.Count() > 0) { var data2 = db.Customers .Where(x => x.UserId == data.Id) .FirstOrDefault(); data2.Email = customer.email; db.SaveChanges(); } else { Models.Customer tb = new Models.Customer(); tb.UserId = data.Id; tb.Email = customer.email; db.Customers.Add(tb); db.SaveChanges(); } return("true"); } else { return("false"); } }
/// <summary> /// api/insertAmount //افزایش اعتبار /// </summary> /// <param name="amount"> موبایل و مبلغ</param> /// <returns> /// true /// false /// </returns> public string Post([FromBody] AllClass.Amount amount) { Models.AndycabarDB db = new Models.AndycabarDB(); var data = db.Users .Where(x => x.Mobile == amount.phone).ToList(); if (data.Count() > 0) { Models.Transaction tb = new Models.Transaction(); tb.Amount = decimal.Parse(amount.amount); tb.CustomerId = data[0].Id; tb.Submit = DateTime.Now; db.Transactions.Add(tb); db.SaveChanges(); return("true"); } else { return("false"); } }
/// <summary> /// api/getGroup /// لیست گروه ها /// </summary> /// <returns> /// </returns> public List <Models.Group> Post() { Models.AndycabarDB db = new Models.AndycabarDB(); return(db.Groups.ToList()); }
/// <summary> /// api/getPhone /// دریافت sms /// </summary> /// <param name="phone">شماره تماس</param> /// <returns>کد احراز هویت</returns> public string Post([FromBody] AllClass.Phone phone) { Models.AndycabarDB db = new Models.AndycabarDB(); Models.User tb = new Models.User(); tb.Mobile = phone.phone; tb.Type = "Customer"; tb.Name = ""; tb.VerificationCode = new Random().Next(1000, 9999); var data = db.Users.Where(x => x.Mobile == phone.phone).ToList(); if (data.Count() > 0) { var user = db.Users.Where(x => x.Mobile == phone.phone).FirstOrDefault(); user.VerificationCode = tb.VerificationCode; db.SaveChanges(); tb.Type = user.Type; var httpWebRequest = (HttpWebRequest)WebRequest.Create(" http://api.smsapp.ir/v2/sms/send/simple"); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; httpWebRequest.Headers.Add("apikey", "HHweSCQ4jCniM2KYKNSTOgmTepEkjXiJOQP4uIcLNi4"); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { string json = "{\"receptor\":\"" + phone.phone + "\"," + "\"message\":\"" + "اندیکابار \n کد تایید شماره شما : \n" + tb.VerificationCode + "\"," + "\"sender\":\"30006703451451\"}"; streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); } return(tb.VerificationCode.ToString()); } else { db.Users.Add(tb); db.SaveChanges(); var userId = db.Users.Where(x => x.Mobile == phone.phone).FirstOrDefault(); int userid = userId.Id; Models.Customer tb1 = new Models.Customer(); tb1.UserId = userid; tb1.Email = ""; db.Customers.Add(tb1); db.SaveChanges(); var httpWebRequest = (HttpWebRequest)WebRequest.Create(" http://api.smsapp.ir/v2/sms/send/simple"); httpWebRequest.ContentType = "application/json"; httpWebRequest.Method = "POST"; httpWebRequest.Headers.Add("apikey", "HHweSCQ4jCniM2KYKNSTOgmTepEkjXiJOQP4uIcLNi4"); using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream())) { string json = "{\"receptor\":\"" + phone.phone + "\"," + "\"message\":\"" + "اندیکابار \n کد تایید شماره شما : \n" + tb.VerificationCode + "\"," + "\"sender\":\"30006703451451\"}"; streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); using (var streamReader = new StreamReader(httpResponse.GetResponseStream())) { var result = streamReader.ReadToEnd(); } return(tb.VerificationCode.ToString()); } }