public bool AddBrandAndOutlet(string jsonData) { bool result = false; string GroupId = ""; try { JavaScriptSerializer json_serializer = new JavaScriptSerializer(); json_serializer.MaxJsonLength = int.MaxValue; object[] objData = (object[])json_serializer.DeserializeObject(jsonData); List <BrandDetail> lstBrands = new List <BrandDetail>(); List <OutletDetail> lstOutlets = new List <OutletDetail>(); foreach (Dictionary <string, object> item in objData) { GroupId = Convert.ToString(item["GroupId"]); BrandDetail objBrand1 = new BrandDetail(); objBrand1.BrandId = Convert.ToString(item["BrandId1"]); objBrand1.GroupId = Convert.ToString(item["GroupId"]); objBrand1.BrandName = Convert.ToString(item["Brand1Name"]); objBrand1.Category = Convert.ToString(item["Brand1Category"]); objBrand1.CreatedDate = DateTime.Now; lstBrands.Add(objBrand1); if (!string.IsNullOrEmpty(Convert.ToString(item["Brand2Name"]))) { BrandDetail objBrand2 = new BrandDetail(); objBrand2.BrandId = Convert.ToString(item["BrandId2"]); objBrand2.GroupId = Convert.ToString(item["GroupId"]); objBrand2.BrandName = Convert.ToString(item["Brand2Name"]); objBrand2.Category = Convert.ToString(item["Brand2Category"]); objBrand2.CreatedDate = DateTime.Now; lstBrands.Add(objBrand2); } foreach (Dictionary <string, object> itemOutlet in (object[])item["OutletJson"]) { OutletDetail objOutletDetail = new OutletDetail(); objOutletDetail.GroupId = Convert.ToString(item["GroupId"]); objOutletDetail.BrandId = Convert.ToString(itemOutlet["BrandId"]); objOutletDetail.OutletId = Convert.ToString(itemOutlet["OutletId"]); objOutletDetail.OutletName = Convert.ToString(itemOutlet["OutletName"]); objOutletDetail.City = Convert.ToString(itemOutlet["City"]); objOutletDetail.Address = Convert.ToString(itemOutlet["Area"]); objOutletDetail.PinCode = Convert.ToString(itemOutlet["Pincode"]); objOutletDetail.Latitude = Convert.ToString(itemOutlet["Geotags"]); //objOutletDetail.Latitude = Convert.ToString(itemOutlet["CashierCount"]); objOutletDetail.CreatedDate = DateTime.Now; lstOutlets.Add(objOutletDetail); } } result = CR.AddBrandAndOutlet(GroupId, lstBrands, lstOutlets); } catch (Exception ex) { newexception.AddException(ex, GroupId); } return(result); }
public async Task <HttpResponseMessage> EditOutlet(OutletDetail outlet) { var message = CreateMessageData($"outlet"); if (!ModelState.IsValid) { return(CreateValidationErrorResponse(message, new ValidationResult(Validation.InvalidParameters))); } var result = await _outletService.PutOutlet(outlet); if (!result.IsSuccess) { return(CreateValidationErrorResponse(message, new ValidationResult(result.message))); } return(CreateOkResponse(message, outlet)); }
//public async Task<LogicResult> PutOutlet(OutletDetail customer) //{ // var unitofwork = _repositoryHelper.GetUnitOfWork(); // var repo = _repositoryHelper.GetRepository<IOutletRepository>(unitofwork); // var _customer = _mapper.Map<Outlet>(customer); // try // { // repo.Update(_customer); // await unitofwork.SaveChangesAsync(); // return new LogicResult() { IsSuccess = true }; // } // catch // { // return new LogicResult() { IsSuccess = false, message = Validation.ServerError }; // } //} public async Task <LogicResult> PutOutlet(OutletDetail customer) { var unitofwork = _repositoryHelper.GetUnitOfWork(); var repo = _repositoryHelper.GetRepository <IOutletRepository>(unitofwork); try { var _customer = _mapper.Map <Outlet>(customer); var fieldsToUpdate = new string[] { nameof(OutletDetail.ID), nameof(OutletDetail.Name), nameof(OutletDetail.Phone), nameof(OutletDetail.Image), nameof(OutletDetail.Start), nameof(OutletDetail.address) }; repo.Update(_customer, fieldsToUpdate); var result = await unitofwork.SaveChangesAsync(); if (!result) { return(new LogicResult() { IsSuccess = false, message = Validation.ServerError }); } return(new LogicResult() { IsSuccess = true }); } catch { return(new LogicResult() { IsSuccess = false, message = Validation.ServerError }); } }
public string SubmitRating(string mobileNo, int[] ranking, string GroupId, string outletId) { string status = "false"; // string smsresponce = ""; FeedBackMaster objfeedback = new FeedBackMaster(); string connStr = objCustRepo.GetCustomerConnString(GroupId); TimeZoneInfo IND_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); DateTime date = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, IND_ZONE); using (var context = new BOTSDBContext(connStr)) { CustomerDetail objcustdetails = context.CustomerDetails.Where(x => x.MobileNo == mobileNo).FirstOrDefault(); OutletDetail objoutlet = context.OutletDetails.Where(x => x.OutletId == outletId).FirstOrDefault(); TransactionMaster objtransactionMaster = new TransactionMaster(); PointsExpiry objpointsExpiry = new PointsExpiry(); var transaction = context.TransactionMasters.Where(x => x.MobileNo == mobileNo).OrderByDescending(y => y.Datetime).Take(2).ToList(); var pointexpiry = context.PointsExpiries.Where(x => x.MobileNo == mobileNo).OrderByDescending(y => y.Datetime).Take(2).ToList(); int queid = 1; int Combinedpoint = 0; foreach (int points in ranking) { if (points != 0) { if (objcustdetails != null) { objfeedback.CustomerName = objcustdetails.CustomerName; } else { objfeedback.CustomerName = "Member"; } objfeedback.MobileNo = mobileNo; objfeedback.QuestionPoints = points.ToString(); objfeedback.QuestionId = queid.ToString(); objfeedback.OutletId = outletId; objfeedback.DOJ = date; Combinedpoint += points; objfeedback = context.FeedBackMasters.Add(objfeedback); context.SaveChanges(); status = "true"; } queid++; } if (Combinedpoint <= 4) { SMSDetail objsmsdetails = new SMSDetail(); FeedBackMobileMaster objmobilemaster = context.FeedBackMobileMasters.Where(x => x.MessageId == "203").FirstOrDefault(); SMSEmailMaster objsmsemailmaster = context.SMSEmailMasters.Where(x => x.MessageId == "203").FirstOrDefault(); string message = objsmsemailmaster.SMS; if (objcustdetails != null) { message = message.Replace("#01", objcustdetails.CustomerName); } else { message = message.Replace("#01", "Member"); } message = message.Replace("#30", mobileNo); message = message.Replace("#08", Convert.ToString(date)); message = message.Replace("#31", Convert.ToString(ranking[0])); message = message.Replace("#32", Convert.ToString(ranking[1])); objsmsdetails = context.SMSDetails.Where(x => x.OutletId == outletId).FirstOrDefault(); // SendMessage(objmobilemaster.MobileNo, objsmsdetails.SenderId, message, objsmsdetails.TxnUrl, objsmsdetails.TxnUserName, objsmsdetails.TxnPassword); SendMessageVision(objsmsdetails.TxnUrl, objmobilemaster.MobileNo, message, objsmsdetails.SenderId, objsmsdetails.TxnPassword); } if (transaction.Count > 0) { if (transaction[0].InvoiceNo == "B_Feedbackpoints" && pointexpiry[0].InvoiceNo == "B_Feedbackpoints") { var point = objcustdetails.Points; objcustdetails.Points = point + objoutlet.FeedBackPoints; context.CustomerDetails.AddOrUpdate(objcustdetails); context.SaveChanges(); objtransactionMaster.CustomerId = objcustdetails.CustomerId; objtransactionMaster.CustomerPoints = objcustdetails.Points; objtransactionMaster.CounterId = outletId + "01"; objtransactionMaster.MobileNo = mobileNo; objtransactionMaster.Datetime = date; objtransactionMaster.TransType = "1"; objtransactionMaster.TransSource = "1"; objtransactionMaster.InvoiceNo = "B_Feedbackpoints"; objtransactionMaster.InvoiceAmt = 0; objtransactionMaster.Status = "06"; objtransactionMaster.PointsEarned = objoutlet.FeedBackPoints; objtransactionMaster.PointsBurned = 0; objtransactionMaster.CampaignPoints = 0; objtransactionMaster.TxnAmt = 0; objtransactionMaster.Synchronization = ""; objtransactionMaster.SyncDatetime = null; context.TransactionMasters.Add(objtransactionMaster); context.SaveChanges(); objpointsExpiry.MobileNo = mobileNo; objpointsExpiry.CounterId = outletId + "01"; objpointsExpiry.CustomerId = objcustdetails.CustomerId; objpointsExpiry.BurnDate = null; objpointsExpiry.Datetime = date; objpointsExpiry.EarnDate = date; // DateTime today = date; DateTime next = date.AddYears(1); var currentmonth = DateTime.DaysInMonth(next.Year, next.Month); if (next.Day < currentmonth) { var days = (currentmonth - next.Day); next = date.AddDays(days).AddYears(1); } objpointsExpiry.ExpiryDate = next; objpointsExpiry.Points = objoutlet.FeedBackPoints; objpointsExpiry.Status = "00"; objpointsExpiry.InvoiceNo = "B_Feedbackpoints"; objpointsExpiry.GroupId = objoutlet.GroupId; objpointsExpiry.OriginalInvoiceNo = ""; objpointsExpiry.TransRefNo = null; context.PointsExpiries.Add(objpointsExpiry); context.SaveChanges(); status = "pointsGiven"; } } } return(status); }
public bool SubmitPoints(string MemberName, string Gender, string BirthDt, string mobileNo, string AnniversaryDt, string LiveIn, string Knowabt, string GroupId, string outletid) { bool status = false; // string smsresponce=""; List <FeedBackMaster> lstfeedback = new List <FeedBackMaster>(); TransactionMaster objtransactionMaster = new TransactionMaster(); PointsExpiry objpointsExpiry = new PointsExpiry(); CustomerDetail objnewcust = new CustomerDetail(); string connStr = objCustRepo.GetCustomerConnString(GroupId); TimeZoneInfo IND_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); DateTime date = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, IND_ZONE); using (var context = new BOTSDBContext(connStr)) { CustomerDetail objcustdetails = context.CustomerDetails.Where(x => x.MobileNo == mobileNo).FirstOrDefault(); OutletDetail objoutlet = context.OutletDetails.Where(x => x.OutletId == outletid).FirstOrDefault(); FeedBackMaster objfeedback = new FeedBackMaster(); lstfeedback = context.FeedBackMasters.Where(x => x.MobileNo == mobileNo).OrderByDescending(y => y.DOJ).Take(2).ToList(); if (objcustdetails != null) { if (AnniversaryDt != null) { objcustdetails.AnniversaryDate = Convert.ToDateTime(AnniversaryDt); } var point = objcustdetails.Points; objcustdetails.Points = point + objoutlet.FeedBackPoints; context.CustomerDetails.AddOrUpdate(objcustdetails); context.SaveChanges(); } if (objcustdetails == null) { var CustomerId = context.CustomerDetails.OrderByDescending(x => x.CustomerId).Select(y => y.CustomerId).FirstOrDefault(); DateTime datet = new DateTime(1900, 01, 01); var NewId = Convert.ToInt64(CustomerId) + 1; objnewcust.CustomerId = Convert.ToString(NewId); objnewcust.Points = objoutlet.FeedBackPoints; if (string.IsNullOrEmpty(MemberName)) { objnewcust.CustomerName = "Member"; } else { objnewcust.CustomerName = MemberName; } objnewcust.CustomerCategory = null; objnewcust.CardNumber = ""; objnewcust.CustomerThrough = "2"; if (BirthDt != "") { objnewcust.DOB = Convert.ToDateTime(BirthDt); } objnewcust.MaritalStatus = ""; objnewcust.MemberGroupId = "1000"; objnewcust.MobileNo = mobileNo; objnewcust.Status = "00"; if (AnniversaryDt != null) { objnewcust.AnniversaryDate = Convert.ToDateTime(AnniversaryDt); } objnewcust.DOJ = date; objnewcust.EmailId = ""; objnewcust.EnrollingOutlet = outletid; if (string.IsNullOrEmpty(Gender)) { objnewcust.Gender = ""; } else { objnewcust.Gender = Gender; } objnewcust.IsSMS = null; objnewcust.BillingCustomerId = null; context.CustomerDetails.Add(objnewcust); context.SaveChanges(); } if (objcustdetails != null) { objtransactionMaster.CustomerId = objcustdetails.CustomerId; objtransactionMaster.CustomerPoints = objcustdetails.Points; } else { objtransactionMaster.CustomerId = objnewcust.CustomerId; objtransactionMaster.CustomerPoints = objnewcust.Points; } objtransactionMaster.CounterId = outletid + "01"; objtransactionMaster.MobileNo = mobileNo; objtransactionMaster.Datetime = date; objtransactionMaster.TransType = "1"; objtransactionMaster.TransSource = "1"; if (GroupId != "1163") { objtransactionMaster.InvoiceNo = "B_Feedbackpoints"; } else { objtransactionMaster.InvoiceNo = "AabharBonus"; } objtransactionMaster.InvoiceAmt = 0; objtransactionMaster.Status = "06"; objtransactionMaster.PointsEarned = objoutlet.FeedBackPoints; objtransactionMaster.PointsBurned = 0; objtransactionMaster.CampaignPoints = 0; objtransactionMaster.TxnAmt = 0; objtransactionMaster.Synchronization = ""; objtransactionMaster.SyncDatetime = null; if (GroupId != "1163") { context.TransactionMasters.Add(objtransactionMaster); context.SaveChanges(); } if (lstfeedback.Count == 0 && GroupId == "1163") { context.TransactionMasters.Add(objtransactionMaster); context.SaveChanges(); } objpointsExpiry.MobileNo = mobileNo; objpointsExpiry.CounterId = outletid + "01"; if (objcustdetails != null) { objpointsExpiry.CustomerId = objcustdetails.CustomerId; } else { objpointsExpiry.CustomerId = objnewcust.CustomerId; } objpointsExpiry.BurnDate = null; objpointsExpiry.Datetime = date; objpointsExpiry.EarnDate = date; // DateTime today = date; DateTime next = date.AddYears(1); var currentmonth = DateTime.DaysInMonth(next.Year, next.Month); if (next.Day < currentmonth) { var days = (currentmonth - next.Day); next = date.AddDays(days).AddYears(1); } objpointsExpiry.ExpiryDate = next; objpointsExpiry.Points = objoutlet.FeedBackPoints; objpointsExpiry.Status = "00"; if (GroupId != "1163") { objpointsExpiry.InvoiceNo = "B_Feedbackpoints"; } else { objpointsExpiry.InvoiceNo = "AabharBonus"; } //objpointsExpiry.InvoiceNo = "B_Feedbackpoints"; objpointsExpiry.GroupId = objoutlet.GroupId; objpointsExpiry.OriginalInvoiceNo = ""; objpointsExpiry.TransRefNo = null; if (GroupId != "1163") { context.PointsExpiries.Add(objpointsExpiry); context.SaveChanges(); } if (lstfeedback.Count == 0 && GroupId == "1163") { context.PointsExpiries.Add(objpointsExpiry); context.SaveChanges(); } if (lstfeedback.Count == 0 && GroupId == "1163") { FeedBackMaster feedback = new FeedBackMaster(); feedback.MobileNo = mobileNo; feedback.CustomerName = MemberName; feedback.OutletId = outletid; feedback.Location = LiveIn; feedback.HowToKonwAbout = Knowabt; feedback.DOB = Convert.ToDateTime(BirthDt); if (AnniversaryDt != null) { feedback.DOA = Convert.ToDateTime(AnniversaryDt); } feedback.Points = objoutlet.FeedBackPoints; context.FeedBackMasters.AddOrUpdate(feedback); context.SaveChanges(); status = true; } else { foreach (var feedback in lstfeedback) { feedback.Location = LiveIn; feedback.HowToKonwAbout = Knowabt; if (BirthDt != "") { feedback.DOB = Convert.ToDateTime(BirthDt); } if (AnniversaryDt != null) { feedback.DOA = Convert.ToDateTime(AnniversaryDt); } feedback.Points = objoutlet.FeedBackPoints; context.FeedBackMasters.AddOrUpdate(feedback); context.SaveChanges(); status = true; } } if (status) { // string msgmobileno = "8452047477"; string message1; SMSDetail objsmsdetails = new SMSDetail(); FeedBackMobileMaster objmobilemaster = new FeedBackMobileMaster(); SMSEmailMaster objsmsemailmaster = new SMSEmailMaster(); if (GroupId != "1163") { objmobilemaster = context.FeedBackMobileMasters.Where(x => x.MessageId == "202").FirstOrDefault(); objsmsemailmaster = context.SMSEmailMasters.Where(x => x.MessageId == "202").FirstOrDefault(); string message = objsmsemailmaster.SMS; //TimeZoneInfo IND_ZONE = TimeZoneInfo.FindSystemTimeZoneById("India Standard Time"); //DateTime date = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, IND_ZONE); if (objcustdetails != null) { message = message.Replace("#01", objcustdetails.CustomerName); } else { message = message.Replace("#01", "Member"); } message = message.Replace("#30", mobileNo); message = message.Replace("#08", Convert.ToString(date)); objsmsdetails = context.SMSDetails.Where(x => x.OutletId == outletid).FirstOrDefault(); // SendBulkSMSMessageTxn(objmobilemaster.MobileNo, objsmsdetails.SenderId, message); SendBulkSMSMessagevision(objmobilemaster.MobileNo, objsmsdetails.SenderId, message); } objsmsemailmaster = context.SMSEmailMasters.Where(x => x.MessageId == "201").FirstOrDefault(); message1 = objsmsemailmaster.SMS; if (objcustdetails != null) { message1 = message1.Replace("#01", objcustdetails.CustomerName); } else { message1 = message1.Replace("#01", "Member"); } // SendMessage(mobileNo, objsmsdetails.SenderId, message1, objsmsdetails.TxnUrl, objsmsdetails.TxnUserName, objsmsdetails.TxnPassword); SendMessageVision(objsmsdetails.TxnUrl, mobileNo, message1, objsmsdetails.SenderId, objsmsdetails.TxnPassword); } } return(status); }