Пример #1
0
        public List <LogsMoneyInfo> GetAllByContactId(int contactId)
        {
            var list = MoneyLogsRepository.GetAllByContactId(contactId);

            if (list.Count != 0)
            {
                foreach (var item in list)
                {
                    item.sNgayThucThu   = Convert.ToDateTime(item.NgayThucThu).ToString("dd/MM/yyyy");
                    item.sKieuThanhToan = ObjectExtensions.GetEnumDescription((AppointmentType)item.KieuThanhToan);
                }
                return(list);
            }
            return(null);
        }
Пример #2
0
        //
        // GET: /Admin/HandoverAdvisor/

        public ActionResult HandoverContact(int id, ContactLevelInfoModel modelCache = null)
        {
            ViewBag.SourceTypes = SourceTypeRepository.GetAll();

            var user = UserContext.GetCurrentUser();

            if (user == null)
            {
                return(RedirectToAction("FilterContactToday", "ContactFilter", new { area = "Admin" }));
            }

            var contactInfo = ContactRepository.GetInfo(id);

            if (contactInfo == null)
            {
                return(RedirectToAction("FilterContactToday", "ContactFilter", new { area = "Admin" }));
            }

            if (user.GroupConsultantType == (int)GroupConsultantType.Consultant && user.UserID != contactInfo.UserConsultantId)
            {
                return(RedirectToAction("FilterContactToday", "ContactFilter", new { area = "Admin" }));
            }

            string TransactionReason = "";

            List <LogsMoneyInfo> logMoneyInfos = MoneyLogsRepository.GetAllByContactId(id);

            foreach (var logMoney in logMoneyInfos)
            {
                TransactionReason += logMoney.NoteChuyenKhoan + "@@@";
            }

            ViewBag.Id     = id;
            ViewBag.IsView = user.UserID != contactInfo.UserConsultantId ? 1 : 0;

            if (user.GroupConsultantType == (int)GroupConsultantType.ManagerConsultant)
            {
                ViewBag.IsView = 0;
            }
            var contactLevelInfo = ContactLevelInfoRepository.GetInfoByContactId(id) ?? new ContactLevelInfo();
            var model            = InitModel(contactInfo, contactLevelInfo);

            model.ContactInfo.Consultant             = user.UserName;
            model.ContactInfo.UserName               = user.FullName; //Lay ten TVTS
            model.ContactLevelInfo.TransactionReason = TransactionReason;
            model.PhoneTVTS = user.Mobile;                            //điện thoại TVTS
            model.EmailTVTS = user.Email;                             //Email TVTS

            if (model.ContactInfo != null)
            {
                if (modelCache != null && modelCache.ContactInfo != null)
                {
                    model.ContactInfo.QualityId              = modelCache.ContactInfo.QualityId;
                    model.ContactInfo.CallInfoConsultant     = modelCache.ContactInfo.CallInfoConsultant;
                    model.ContactInfo.StatusMapConsultantId  = modelCache.ContactInfo.StatusMapConsultantId;
                    model.ContactInfo.StatusCareConsultantId = modelCache.ContactInfo.StatusCareConsultantId;
                }
                else
                {
                    model.ContactInfo.QualityId              = 0;
                    model.ContactInfo.StatusMapConsultantId  = 0;
                    model.ContactInfo.StatusCareConsultantId = 0;
                    model.ContactInfo.CallInfoConsultant     = string.Empty;
                }
            }
            return(View(model));
        }
Пример #3
0
        public ActionResult FixedMoneyManagerConsulant(FormCollection forms)
        {
            var valueRow = Request["countRowTable"].ToInt32();

            List <ContactFixedMoney> lstInfoCts       = new List <ContactFixedMoney>();
            AllDealMoney             listDealSesssion = new AllDealMoney();

            listDealSesssion.pricing  = new List <ContactInfoMoney>();
            listDealSesssion.deposit  = new List <ContactInfoMoney>();
            listDealSesssion.transfer = new List <ContactInfoMoneyTranfer>();
            listDealSesssion.balance  = new List <ContactInfoMoneyBalance>();

            string notes = Request["NotesManagerConsulant"].ToString();

            var userTVTS = UserContext.GetCurrentUser();

            for (int i = 1; i <= valueRow; i++)
            {
                ContactInfoMoney infoCts = new ContactInfoMoney();

                infoCts.ContactId      = Request["CodeCts_" + i.ToString()].ToString();
                infoCts.UserName       = Request["NameCts_" + i.ToString()].ToString();
                infoCts.UserPhone      = forms.Get("MobileCts_" + i.ToString()).ToString();
                infoCts.UserEmail      = Request["EmailCts_" + i.ToString()].ToString();
                infoCts.TransactionBy  = "CRM";
                infoCts.Reason         = Request["NotesManagerConsulant"].ToString();
                infoCts.OtherInfo      = "";
                infoCts.Time           = DateTime.Now.ToString();
                infoCts.DisableWarning = true;

                if (forms.Get("FeeEdu_" + i.ToString()).ToInt32() > forms.Get("FeeEduChange_" + i.ToString()).ToInt32())
                {
                    int feeEdu       = forms.Get("FeeEdu_" + i.ToString()).ToInt32();
                    int feeEduChange = forms.Get("FeeEduChange_" + i.ToString()).ToInt32();
                    int feeReturn    = forms.Get("FeeReturn_" + i.ToString()).ToInt32();

                    infoCts.Value = (forms.Get("FeeEdu_" + i.ToString()).ToInt32()
                                     - forms.Get("FeeEduChange_" + i.ToString()).ToInt32()
                                     - forms.Get("FeeReturn_" + i.ToString()).ToInt32()).ToString();
                    if (infoCts.Value != "0")
                    {
                        listDealSesssion.pricing.Add(infoCts);
                    }
                }
                else if (forms.Get("FeeEdu_" + i.ToString()).ToInt32() < forms.Get("FeeEduChange_" + i.ToString()).ToInt32())
                {
                    infoCts.Value = (forms.Get("FeeEduChange_" + i.ToString()).ToInt32()
                                     - forms.Get("FeeEdu_" + i.ToString()).ToInt32()
                                     - forms.Get("FeeReturn_" + i.ToString()).ToInt32()).ToString();
                    listDealSesssion.deposit.Add(infoCts);
                }
                else
                {
                    //nothing
                }

                if (forms.Get("FeeReturn_" + i.ToString()).ToInt32() > 0)
                {
                    //tranfer
                    ContactInfoMoneyTranfer infoCtsTranfer = new ContactInfoMoneyTranfer();

                    infoCtsTranfer.ContactId      = Request["CodeCts_" + i.ToString()].ToString();
                    infoCtsTranfer.Value          = Request["NameCts_" + i.ToString()].ToString();
                    infoCtsTranfer.UserPhone      = forms.Get("MobileCts_" + i.ToString()).ToString();
                    infoCtsTranfer.UserEmail      = Request["EmailCts_" + i.ToString()].ToString();
                    infoCtsTranfer.TransactionBy  = "CRM";
                    infoCtsTranfer.Reason         = Request["NotesManagerConsulant"].ToString();
                    infoCtsTranfer.OtherInfo      = "";
                    infoCtsTranfer.Time           = DateTime.Now.ToString();
                    infoCtsTranfer.DisableWarning = true;

                    infoCtsTranfer.Value = forms.Get("FeeReturn_" + i.ToString()).ToString();
                    listDealSesssion.transfer.Add(infoCtsTranfer);

                    //balance
                    ContactInfoMoneyBalance infoCtsBalance = new ContactInfoMoneyBalance();

                    infoCtsBalance.ContactId      = Request["CodeCts_" + i.ToString()].ToString();
                    infoCtsBalance.Value          = Request["NameCts_" + i.ToString()].ToString();
                    infoCtsBalance.UserPhone      = forms.Get("MobileCts_" + i.ToString()).ToString();
                    infoCtsBalance.UserEmail      = Request["EmailCts_" + i.ToString()].ToString();
                    infoCtsBalance.Type           = "-1";
                    infoCtsBalance.BillNumber     = "0";
                    infoCtsBalance.TransactionBy  = "CRM";
                    infoCtsBalance.Reason         = Request["NotesManagerConsulant"].ToString();
                    infoCtsBalance.OtherInfo      = "";
                    infoCtsBalance.Time           = DateTime.Now.ToString();
                    infoCtsBalance.DisableWarning = true;

                    infoCtsBalance.Value = forms.Get("FeeReturn_" + i.ToString()).ToString();
                    listDealSesssion.balance.Add(infoCtsBalance);
                }
            }

            JsonResult retVal = new JsonResult()
            {
                Data = listDealSesssion, JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };
            string sRetVal = JsonConvert.SerializeObject(retVal.Data);

            //===============Goi API LocMX =============//

            string username       = "******";
            string password       = "******";
            string linkApiPayment = ConfigurationManager.AppSettings["LinkAPIPayment"].ToString();

            var client = new RestClient(linkApiPayment);

            client.Authenticator = new HttpBasicAuthenticator(username, password);
            var request = new RestRequest("Tcoin/CrmTransactionBatch", Method.POST);

            request.AddHeader("Accept", "application/json");

            request.AddParameter("key", "6WxDCFTjlgjH6L6YLA03LNW1JbJbCZGCLHa0DIXT");
            request.AddParameter("data", sRetVal);
            request.JsonSerializer.ContentType = "application/json; charset=utf-8";

            IRestResponse           response = client.Execute(request);
            string                  s        = response.Content;
            ReturnApiCallFixedMoney output   = JsonConvert.DeserializeObject <ReturnApiCallFixedMoney>(s);

            //Neu goi thanh cong tao log save lai giao dich trong bang LogFixedMoney
            if (output.status_code == "DONE_ALL")
            {
                SqlTransaction tran = null;
                try
                {
                    string        conString = getNewConnection;
                    SqlConnection conn      = new SqlConnection(conString);
                    conn.Open();
                    tran = conn.BeginTransaction();

                    //Update FeeEdu, PackageSale
                    for (int i = 1; i <= valueRow; i++)
                    {
                        var sCode   = Request["CodeCts_" + i.ToString()].ToString();
                        var sFeeEdu = Request["FeeEduChange_" + i.ToString()].ToInt32();
                        ContactLevelInfoRepository.Update_FeeEdu_PackagePriceSale(sCode, sFeeEdu);
                    }
                    var log = new LogFixedMoney
                    {
                        Description         = sRetVal,
                        Notes               = notes,
                        UserConsulantCreate = userTVTS.UserName,
                        CreateDate          = DateTime.Now
                    };

                    LogFixMoneyRepository.Create(log, tran);

                    int idMax = GetIdentity("LogFixMoney", conn, tran); //lay ID max trong bang LogFixMoney

                    foreach (var a in listDealSesssion.pricing)
                    {
                        var logmoney_pricing = new LogsMoneyInfo
                        {
                            TienHVNop       = a.Value.ToInt32(),
                            TienBanGoi      = 0, //hoi lai
                            NoteChuyenKhoan = a.Reason,
                            NguoiTao        = a.UserName,
                            NgayThucThu     = DateTime.Now,
                            KieuThanhToan   = 0,
                            DiaPhuong       = 1,
                            CreateDate      = DateTime.Now,
                            ContactId       = 0,
                            Code            = a.ContactId,
                            ChuDuToan       = 0,
                            TrangThai       = true,
                            HistoryId       = 0,
                            IdFixMoney      = idMax
                        };
                        MoneyLogsRepository.Create(logmoney_pricing, tran);
                    }

                    foreach (var a in listDealSesssion.deposit)
                    {
                        var logmoney_deposit = new LogsMoneyInfo
                        {
                            TienHVNop       = a.Value.ToInt32(),
                            TienBanGoi      = 0, //hoi lai
                            NoteChuyenKhoan = a.Reason,
                            NguoiTao        = a.UserName,
                            NgayThucThu     = DateTime.Now,
                            KieuThanhToan   = 0,
                            DiaPhuong       = 1,
                            CreateDate      = DateTime.Now,
                            ContactId       = 0,
                            Code            = a.ContactId,
                            ChuDuToan       = 0,
                            TrangThai       = true,
                            HistoryId       = 0,
                            IdFixMoney      = idMax
                        };
                        MoneyLogsRepository.Create(logmoney_deposit, tran);
                    }

                    foreach (var a in listDealSesssion.transfer)
                    {
                        var logmoney_transfer = new LogsMoneyInfo
                        {
                            TienHVNop       = a.Value.ToInt32(),
                            TienBanGoi      = 0, //hoi lai
                            NoteChuyenKhoan = a.Reason,
                            NguoiTao        = "",
                            NgayThucThu     = DateTime.Now,
                            KieuThanhToan   = 0,
                            DiaPhuong       = 1,
                            CreateDate      = DateTime.Now,
                            ContactId       = 0,
                            Code            = a.ContactId,
                            ChuDuToan       = 0,
                            TrangThai       = true,
                            HistoryId       = 0,
                            IdFixMoney      = idMax
                        };
                        MoneyLogsRepository.Create(logmoney_transfer, tran);
                    }
                    tran.Commit();

                    ViewBag.Message = "Giao dịch chuyển tiền thành công";

                    return(FixedMoneyManagerConsulant());
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message + " " + ex.Data);
                    if (tran != null)
                    {
                        tran.Rollback();
                    }
                    ViewBag.Message = "Có lỗi xảy ra, vui lòng thực hiện lại";
                    return(FixedMoneyManagerConsulant());
                }
            }
            else
            {
                //return lỗi ko thành công.
                ViewBag.Message = "Giao dịch chuyển tiền không thành công: " + output.msg;
                return(FixedMoneyManagerConsulant());
            }
        }