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); }
// // 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)); }
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()); } }