public bool ChangeSMSDetails(string GroupId, string CustomerId, bool Disable, tblAudit objAudit)
        {
            bool status = false;

            try
            {
                string connStr = objCustRepo.GetCustomerConnString(GroupId);
                using (var contextNew = new BOTSDBContext(connStr))
                {
                    var objCustomer = contextNew.CustomerDetails.Where(x => x.CustomerId == CustomerId).FirstOrDefault();
                    objCustomer.IsSMS = Disable;

                    contextNew.CustomerDetails.AddOrUpdate(objCustomer);
                    contextNew.SaveChanges();
                    status = true;
                }
                using (var context = new CommonDBContext())
                {
                    context.tblAudits.Add(objAudit);
                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                newexception.AddException(ex, GroupId);
            }
            return(status);
        }
        public bool UpdateSecurityKey(string GroupId, string counterId)
        {
            bool result = false;

            try
            {
                StoreDetail objstore = new StoreDetail();
                string      connStr  = objCustRepo.GetCustomerConnString(GroupId);
                using (var contextNew = new BOTSDBContext(connStr))
                {
                    objstore        = contextNew.StoreDetails.Where(x => x.CounterId == counterId).FirstOrDefault();
                    objstore.Status = "01";

                    contextNew.StoreDetails.AddOrUpdate(objstore);
                    contextNew.SaveChanges();

                    result = true;
                }
            }
            catch (Exception ex)
            {
                newexception.AddException(ex, "");
            }
            return(result);
        }
        public SPResponse AddBulkCustomerData(string GroupId, CustomerDetail objCustomer)
        {
            SPResponse result = new SPResponse();

            try
            {
                string connStr = objCustRepo.GetCustomerConnString(GroupId);
                using (var contextNew = new BOTSDBContext(connStr))
                {
                    var ObjMobileNo = contextNew.CustomerDetails.Where(x => x.MobileNo == objCustomer.MobileNo).FirstOrDefault();
                    if (ObjMobileNo == null)
                    {
                        var CustomerId = contextNew.CustomerDetails.OrderByDescending(x => x.CustomerId).Select(y => y.CustomerId).FirstOrDefault();

                        var NewId = Convert.ToInt64(CustomerId) + 1;
                        objCustomer.CustomerId = Convert.ToString(NewId);

                        contextNew.CustomerDetails.AddOrUpdate(objCustomer);
                        contextNew.SaveChanges();
                        result.ResponseCode    = "00";
                        result.ResponseMessage = "Member Added Successfully";
                    }
                    else
                    {
                        result.ResponseCode    = "01";
                        result.ResponseMessage = "Mobile Number Already Exist";
                    }
                }
            }
            catch (Exception ex)
            {
                newexception.AddException(ex, GroupId);
            }
            return(result);
        }
        public bool UpdateNameOfMember(string GroupId, string CustomerId, string Name, tblAudit objAudit)
        {
            bool status = false;

            try
            {
                CustomerDetail objCustomerDetail = new CustomerDetail();
                string         connStr           = objCustRepo.GetCustomerConnString(GroupId);
                using (var contextNew = new BOTSDBContext(connStr))
                {
                    objCustomerDetail = contextNew.CustomerDetails.Where(x => x.CustomerId == CustomerId).FirstOrDefault();
                    objCustomerDetail.CustomerName = Name;

                    contextNew.CustomerDetails.AddOrUpdate(objCustomerDetail);
                    contextNew.SaveChanges();

                    status = true;
                }
                using (var context = new CommonDBContext())
                {
                    context.tblAudits.Add(objAudit);
                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                newexception.AddException(ex, "");
            }
            return(status);
        }
        public bool UpdateDLCCreation(DLCCreation objDLCCreation, string GroupId)
        {
            bool status = false;

            try
            {
                var connStr = CR.GetCustomerConnString(GroupId);
                using (var context = new BOTSDBContext(connStr))
                {
                    context.DLCCreations.AddOrUpdate(objDLCCreation);
                    context.SaveChanges();
                    status = true;
                }
            }
            catch (Exception ex)
            {
                newexception.AddException(ex, GroupId);
            }

            return(status);
        }
        public bool ModifyTransaction(string GroupId, long TransactionId, decimal points, tblAudit objAudit)
        {
            bool   status  = false;
            string connStr = objCustRepo.GetCustomerConnString(GroupId);

            using (var contextNew = new BOTSDBContext(connStr))
            {
                using (DbContextTransaction transaction = contextNew.Database.BeginTransaction())
                {
                    try
                    {
                        var objTransaction  = contextNew.TransactionMasters.Where(x => x.SlNo == TransactionId).FirstOrDefault();
                        var customerDetails = contextNew.CustomerDetails.Where(x => x.MobileNo == objTransaction.MobileNo).FirstOrDefault();
                        var PointExpiry     = contextNew.PointsExpiries.Where(x => x.MobileNo == objTransaction.MobileNo && x.Status == "00").ToList();
                        var NewPointExpiry  = contextNew.PointsExpiries.Where(x => x.MobileNo == objTransaction.MobileNo && x.Status == "00").OrderByDescending(y => y.ExpiryDate).FirstOrDefault();

                        var oldTransactionPoints = objTransaction.PointsEarned;

                        objTransaction.PointsEarned = points;
                        contextNew.TransactionMasters.AddOrUpdate(objTransaction);
                        contextNew.SaveChanges();

                        foreach (var item in PointExpiry)
                        {
                            item.Status = "01";
                            contextNew.PointsExpiries.AddOrUpdate(item);
                            contextNew.SaveChanges();
                        }

                        PointsExpiry objPointExpiry = new PointsExpiry();
                        objPointExpiry.Points     = (customerDetails.Points - oldTransactionPoints) + points;
                        objPointExpiry.CounterId  = NewPointExpiry.CounterId;
                        objPointExpiry.MobileNo   = NewPointExpiry.MobileNo;
                        objPointExpiry.Datetime   = DateTime.Now;
                        objPointExpiry.EarnDate   = NewPointExpiry.EarnDate;
                        objPointExpiry.ExpiryDate = NewPointExpiry.ExpiryDate;
                        objPointExpiry.Status     = "00";
                        objPointExpiry.InvoiceNo  = NewPointExpiry.InvoiceNo;
                        objPointExpiry.GroupId    = NewPointExpiry.GroupId;
                        objPointExpiry.CustomerId = NewPointExpiry.CustomerId;

                        contextNew.PointsExpiries.AddOrUpdate(objPointExpiry);
                        contextNew.SaveChanges();

                        customerDetails.Points = (customerDetails.Points - oldTransactionPoints) + points;
                        contextNew.CustomerDetails.AddOrUpdate(customerDetails);
                        contextNew.SaveChanges();

                        using (var context = new CommonDBContext())
                        {
                            context.tblAudits.Add(objAudit);
                            context.SaveChanges();
                        }
                        transaction.Commit();
                        status = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                        newexception.AddException(ex, GroupId);
                    }
                }
            }
            return(status);
        }
        public SPResponse UpdateMobileOfMember(string GroupId, string CustomerId, string MobileNo, tblAudit objAudit)
        {
            SPResponse result = new SPResponse();

            try
            {
                CustomerDetail           objCustomerDetail       = new CustomerDetail();
                List <TransactionMaster> lstObjTxn               = new List <TransactionMaster>();
                List <PointsExpiry>      lstobjpoints            = new List <PointsExpiry>();
                TransferPointsDetail     objtransferPointsDetail = new TransferPointsDetail();

                string connStr = objCustRepo.GetCustomerConnString(GroupId);
                using (var contextNew = new BOTSDBContext(connStr))
                {
                    var objExisting = contextNew.CustomerDetails.Where(x => x.MobileNo == MobileNo).FirstOrDefault();
                    if (objExisting == null)
                    {
                        objCustomerDetail = contextNew.CustomerDetails.Where(x => x.CustomerId == CustomerId).FirstOrDefault();
                        string oldno = objCustomerDetail.MobileNo;
                        objCustomerDetail.MobileNo = MobileNo;

                        lstObjTxn = contextNew.TransactionMasters.Where(x => x.CustomerId == CustomerId).Take(10000).ToList();
                        if (lstObjTxn != null)
                        {
                            foreach (var trans in lstObjTxn)
                            {
                                trans.MobileNo = MobileNo;
                                contextNew.TransactionMasters.AddOrUpdate(trans);
                                contextNew.SaveChanges();
                            }
                        }

                        lstobjpoints = contextNew.PointsExpiries.Where(x => x.CustomerId == CustomerId).Take(10000).ToList();
                        if (lstobjpoints != null)
                        {
                            foreach (var points in lstobjpoints)
                            {
                                points.MobileNo = MobileNo;
                                contextNew.PointsExpiries.AddOrUpdate(points);
                                contextNew.SaveChanges();
                            }
                        }

                        objtransferPointsDetail.NewMobileNo = MobileNo;
                        objtransferPointsDetail.OldMobileNo = oldno;
                        objtransferPointsDetail.GroupId     = GroupId;
                        objtransferPointsDetail.Datetime    = DateTime.Now;
                        objtransferPointsDetail.Points      = objCustomerDetail.Points;
                        contextNew.TransferPointsDetails.AddOrUpdate(objtransferPointsDetail);
                        contextNew.SaveChanges();

                        contextNew.CustomerDetails.AddOrUpdate(objCustomerDetail);
                        contextNew.SaveChanges();

                        result.ResponseCode    = "00";
                        result.ResponseMessage = "Mobile Number Updated Successfully";
                    }
                    else
                    {
                        result.ResponseCode    = "01";
                        result.ResponseMessage = "Mobile Number Already Exist";
                    }
                }
                using (var context = new CommonDBContext())
                {
                    context.tblAudits.Add(objAudit);
                    context.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                newexception.AddException(ex, GroupId);
            }
            return(result);
        }
        public bool AddBrandAndOutlet(string GroupId, List <BrandDetail> lstBrand, List <OutletDetail> lstOutlet)
        {
            bool   status           = false;
            string ConnectionString = string.Empty;

            using (var context = new CommonDBContext())
            {
                var DBDetails = context.DatabaseDetails.Where(x => x.GroupId == GroupId).FirstOrDefault();
                ConnectionString = "Data Source = " + DBDetails.IPAddress + "; Initial Catalog = " + DBDetails.DBName + "; user id = " + DBDetails.DBId + "; password = "******"";
            }
            using (var contextNew = new BOTSDBContext(ConnectionString))
            {
                using (DbContextTransaction transaction = contextNew.Database.BeginTransaction())
                {
                    try
                    {
                        var oldOutlets = contextNew.OutletDetails.Where(x => x.GroupId == GroupId).ToList();
                        foreach (var item in oldOutlets)
                        {
                            contextNew.OutletDetails.Remove(item);
                            contextNew.SaveChanges();
                        }

                        var oldBrands = contextNew.BrandDetails.Where(x => x.GroupId == GroupId).ToList();
                        foreach (var item in oldBrands)
                        {
                            contextNew.BrandDetails.Remove(item);
                            contextNew.SaveChanges();
                        }

                        string brandId   = string.Empty;
                        int    sNoCount  = 1;
                        var    LastBrand = contextNew.BrandDetails.Where(m => m.GroupId == GroupId).OrderByDescending(x => x.BrandId).Select(y => y).FirstOrDefault();

                        if (LastBrand == null)
                        {
                            brandId = GroupId + sNoCount;
                        }
                        else
                        {
                            brandId = Convert.ToString(Convert.ToInt32(LastBrand.BrandId) + sNoCount);
                        }
                        int count       = 0;
                        int outletcount = 1;

                        foreach (var item in lstBrand)
                        {
                            item.BrandId = Convert.ToString(Convert.ToInt32(brandId) + count);
                            contextNew.BrandDetails.AddOrUpdate(item);
                            contextNew.SaveChanges();

                            var OutletId = string.Empty;

                            if (sNoCount == 1)
                            {
                                foreach (var outletItem in lstOutlet)
                                {
                                    if ((outletItem.BrandId == item.BrandId) || outletItem.BrandId == "1")
                                    {
                                        var outletLast = contextNew.OutletDetails.Where(x => x.BrandId == item.BrandId).OrderByDescending(y => y.BrandId).FirstOrDefault();

                                        if (outletLast == null)
                                        {
                                            OutletId = item.BrandId + "00" + outletcount;
                                        }
                                        else
                                        {
                                            OutletId = Convert.ToString(Convert.ToDouble(outletLast.OutletId) + 1);
                                        }
                                        outletItem.BrandId  = item.BrandId;
                                        outletItem.OutletId = OutletId;

                                        contextNew.OutletDetails.AddOrUpdate(outletItem);
                                        contextNew.SaveChanges();

                                        outletcount++;
                                    }
                                }
                            }
                            if (sNoCount == 2)
                            {
                                outletcount = 1;
                                foreach (var outletItem in lstOutlet)
                                {
                                    if ((outletItem.BrandId == item.BrandId) || outletItem.BrandId == "2")
                                    {
                                        var outletLast = contextNew.OutletDetails.Where(x => x.BrandId == item.BrandId).OrderByDescending(y => y.BrandId).FirstOrDefault();
                                        if (outletLast == null)
                                        {
                                            OutletId = item.BrandId + "00" + outletcount;
                                        }
                                        else
                                        {
                                            OutletId = Convert.ToString(Convert.ToDouble(outletLast.OutletId) + 1);
                                        }
                                        outletItem.BrandId  = item.BrandId;
                                        outletItem.OutletId = OutletId;

                                        contextNew.OutletDetails.AddOrUpdate(outletItem);
                                        contextNew.SaveChanges();

                                        outletcount++;
                                    }
                                }
                            }
                            count++;
                            sNoCount++;
                        }

                        transaction.Commit();
                        status = true;
                    }
                    catch (Exception ex)
                    {
                        transaction.Rollback();
                    }
                }
            }
            return(status);
        }
        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);
        }
示例#11
0
        public bool SaveTelecallerTracking(string connstr, string AddedBy, string MobileNo, string CustomerNm, string Gender, DateTime?DateofBirth, DateTime?DateOfAnni, int PointsGiven, string OutletId, string Comments)
        {
            bool status      = false;
            bool updatetable = false;

            try
            {
                using (var context = new BOTSDBContext(connstr))
                {
                    CustomerDetail     objcustomer = context.CustomerDetails.Where(x => x.MobileNo == MobileNo).FirstOrDefault();
                    TelecallerTracking objtracking = new TelecallerTracking();
                    if (objcustomer != null)
                    {
                        if (objcustomer.CustomerName != CustomerNm)
                        {
                            if (CustomerNm != null)
                            {
                                updatetable = true;
                                objcustomer.CustomerName = CustomerNm;
                            }
                        }
                        if (objcustomer.Gender != Gender)
                        {
                            if (Gender != null)
                            {
                                updatetable        = true;
                                objcustomer.Gender = Gender;
                            }
                        }
                        if (objcustomer.DOB != DateofBirth)
                        {
                            if (DateofBirth != null)
                            {
                                updatetable     = true;
                                objcustomer.DOB = DateofBirth;
                            }
                        }
                        if (objcustomer.AnniversaryDate != DateOfAnni)
                        {
                            if (DateOfAnni != null)
                            {
                                updatetable = true;
                                objcustomer.AnniversaryDate = DateOfAnni;
                            }
                        }
                        if (Comments != null)
                        {
                            updatetable = true;
                        }
                        if (updatetable)
                        {
                            context.CustomerDetails.AddOrUpdate(objcustomer);
                            context.SaveChanges();
                            objtracking.AddedBy      = AddedBy;
                            objtracking.AddedDate    = DateTime.Now;
                            objtracking.Comments     = Comments;
                            objtracking.CustomerName = CustomerNm;
                            objtracking.DOA          = DateOfAnni;
                            objtracking.DOB          = DateofBirth;
                            objtracking.Gender       = Gender;
                            objtracking.IsSMSSend    = false;
                            objtracking.MobileNo     = MobileNo;
                            objtracking.OutletId     = OutletId;
                            objtracking.Points       = PointsGiven;
                            context.TelecallerTrackings.Add(objtracking);
                            context.SaveChanges();

                            // SMSDetail objsMSDetail = new SMSDetail();
                            // string Message = "";
                            // SendWhatsTextOnly(MobileNo, Message, objsMSDetail.WhatsAppTokenId);
                            status = true;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                newexception.AddException(ex, "");
            }

            return(status);
        }