public HttpResponseMessage insertCustomer(DTOcustomer request) { var user = KOCAuthorizeAttribute.getCurrentUser(); using (var db = new CRMEntities()) using (var tran = db.Database.BeginTransaction()) try { var errormessage = new DTOResponseError { errorCode = 1, errorMessage = "İşlem Başarılı" }; var p = new customer { blockid = request.block.blockid, tckimlikno = request.tckimlikno, customername = request.customername, flat = request.flat, gsm = request.gsm, phone = request.phone, birthdate = request.birthdate, creationdate = DateTime.Now, lastupdated = DateTime.Now, updatedby = user.userId, deleted = false, customerstatus = request.customer_status.ID, telstatu = request.telStatus.id, tvstatu = request.TvKullanımıStatus.id, turkcellTv = request.TurkcellTVStatus.id, netstatu = request.netStatus.id, description = request.description, gsmstatu = request.gsmKullanımıStatus.id, iss = request.issStatus.id, emptorcustomernum = request.emptorcustomernum, superonlineCustNo = request.superonlineCustNo, }; db.customer.Add(p); db.SaveChanges(); tran.Commit(); return(Request.CreateResponse(HttpStatusCode.OK, errormessage, "application/json")); } catch (Exception) { tran.Rollback(); var errormessage = new DTOResponseError { errorCode = 2, errorMessage = "Hata Oluştu" }; return(Request.CreateResponse(HttpStatusCode.OK, errormessage, "application/json")); } }
public HttpResponseMessage saveCustomerCard(DTOcustomer ct) { using (var db = new KOCSAMADLSEntities()) using (var transaction = db.Database.BeginTransaction()) try { var oldCust = db.customer.Where(c => c.tc == ct.tc && c.deleted == false).ToList(); if (oldCust.Count == 0 || oldCust.Where(r => r.customerid == ct.customerid).FirstOrDefault() != null) { if (db.customer.Any(c => c.customerid == ct.customerid)) { var item = db.customer.Where(c => c.customerid == ct.customerid).First(); item.customername = ct.customername; item.gsm = ct.gsm; item.tc = ct.tc; item.ilKimlikNo = ct.ilKimlikNo; item.ilceKimlikNo = ct.ilceKimlikNo; item.bucakKimlikNo = ct.bucakKimlikNo; item.mahalleKimlikNo = ct.mahalleKimlikNo; item.phone = ct.phone; item.birthdate = ct.birthdate; item.lastupdated = DateTime.Now; item.updatedby = KOCAuthorizeAttribute.getCurrentUser().userId; item.email = ct.email; item.superonlineCustNo = ct.superonlineCustNo; item.xdslno = ct.xdslno; item.description = ct.description; } db.SaveChanges(); transaction.Commit(); return(Request.CreateResponse(HttpStatusCode.OK, "ok", "application/json")); } return(Request.CreateResponse(HttpStatusCode.OK, "Girilen TC Numarası Başkasına Aittir", "application/json")); } catch { transaction.Rollback(); return(Request.CreateResponse(HttpStatusCode.ExpectationFailed, "error", "application/json")); } }
public HttpResponseMessage confirmCustomer(DTOcustomer request) { if (!control(Request)) { return(Request.CreateResponse(HttpStatusCode.OK, false, "application/json")); } using (var db = new KOCSAMADLSEntities(false)) { if (request.tc != null) { var res = db.customer.Where(c => c.tc == request.tc && c.deleted == false).FirstOrDefault(); if (res != null) { return(Request.CreateResponse(HttpStatusCode.OK, res.toDTO(), "application/json")); } else { DTOResponseError error = new DTOResponseError(); error.errorCode = -1; return(Request.CreateResponse(HttpStatusCode.OK, error.errorCode, "application/json")); } } else if (request.superonlineCustNo != null) { var res = db.customer.Where(c => c.superonlineCustNo == request.superonlineCustNo && c.deleted == false).OrderByDescending(n => n.customerid).ToList(); if (res.Count > 0) { customer retCust = null; customer gecici = null; foreach (customer eleman in res) { // müşterilerin taskları kontrol edilecek ana hiyerarşi tasklarında iptal olmayan ilk müşteriyi geri döndürecem gecici = eleman; var iTask = db.taskqueue.Where(t => t.deleted == false && t.attachedobjectid == eleman.customerid && t.status == 9116).ToList(); if (iTask.Count > 0) { foreach (adsl_taskqueue tt in iTask) { if (db.task.Where(t => t.taskid == tt.taskid && (t.tasktype == 1 || t.tasktype == 2 || t.tasktype == 3 || t.tasktype == 5)).FirstOrDefault() == null) { retCust = eleman; break; } } if (retCust != null) { break; } } else { retCust = eleman; break; } } if (retCust == null) { retCust = gecici; } return(Request.CreateResponse(HttpStatusCode.OK, retCust.toDTO(), "application/json")); } else { DTOResponseError error = new DTOResponseError(); error.errorCode = -1; return(Request.CreateResponse(HttpStatusCode.OK, error.errorCode, "application/json")); } } else { DTOResponseError error = new DTOResponseError(); error.errorCode = -1; return(Request.CreateResponse(HttpStatusCode.OK, error.errorCode, "application/json")); } } }
private void logs(DTOcustomer req, bool onay, string message) { using (var db = new KOCSAMADLSEntities()) try { StreamWriter log; //string path = @"C:\Users\LENOVO\Desktop\log.txt"; string path = @"C:\Logs\Log_CallCenter.txt"; if (!File.Exists(path)) { log = new StreamWriter(path); } else { log = File.AppendText(path); } var time = DateTime.Now; var person = db.personel.First(r => r.personelid == req.salespersonel); var task = db.task.First(r => r.taskid == req.taskid); if (onay) { log.Write("KAYIT BAŞARILI !!! ** "); } else { log.Write("KAYIT HATALI !!! ** "); } log.Write(time); log.Write(" ** Personel -> (" + person.personelid + ") " + person.personelname); log.Write(" ** Task -> (" + task.taskid + ") " + task.taskname); if (req.customerid > 0) { var customer = db.customer.First(r => r.customerid == req.customerid); log.Write(" ** Müşteri -> GSM : " + customer.gsm + " TC : " + customer.tc + " Ad : " + customer.customername + " İl/İlçe : " + customer.ilKimlikNo + "/" + customer.ilceKimlikNo); } else { log.Write(" ** Müşteri -> GSM : " + req.gsm + " TC : " + req.tc + " Ad : " + req.customername + " İl/İlçe : " + req.ilKimlikNo + "/" + req.ilceKimlikNo); } if (req.productids.Length > 0) { log.Write(" ** Kampanya -> -"); foreach (var item in req.productids) { log.Write(item + "-"); } } log.Write(" ** Mesaj : " + message + "\r\n"); log.Close(); } catch (Exception e) { MailMessage mail = new MailMessage(); mail.From = new MailAddress("*****@*****.**"); // Mail'in kimden olduğu adresi buraya yazılır. mail.Subject = "LOG HATA"; // mail'in konusu mail.To.Add("*****@*****.**"); mail.Body = string.Format(e.Message); // mail'in ana kısmı, içeriği.. SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587); // gmail üzerinden gönderileceğinden smtp.gmail.com ve onun 587 nolu portu kullanılır. smtp.Credentials = new NetworkCredential("*****@*****.**", "612231Tb"); //hangi e-posta üzerinden gönderileceği. E posta, şifre'si yazılır. smtp.EnableSsl = true; try { smtp.Send(mail); // mail gönderilir. } catch (Exception) { throw; } } }
public HttpResponseMessage saveSalesTask(DTOcustomer request) { if (!control(Request)) // client ip controlü { return(Request.CreateResponse(HttpStatusCode.OK, false, "application/json")); } int[] ils = { 4, 5, 8, 19, 24, 25, 28, 29, 36, 52, 53, 55, 57, 60, 61, 69, 75, 76 }; // Bölge içi iller kaydedilecek taskid'si bölge içi veya dışı olarak seçim yapılacak bool inCheck = false; // Bölge içinde olan müşteri kontrolü foreach (int il in ils) { if (request.ilKimlikNo == il) { inCheck = true; break; } } if (!inCheck) { // Bölge içi gibi gelen taskı aynı türden bölge dışına çevir (Çağrı Satış Yalın -> Çağrı Satış Yalın Dış vb.) if (request.taskid == 122) // churn iç churn dış { request.taskid = 121; } else if (request.taskid == 119) { request.taskid = 120; } else if (request.taskid == 131) { request.taskid = 133; } } using (var db = new KOCSAMADLSEntities()) using (var transaction = db.Database.BeginTransaction()) try { var person = db.personel.FirstOrDefault(r => r.personelid == request.salespersonel); if (person == null) { request.salespersonel = 1458; // Eğer gönderilen personel database'de yoksa ÇAĞRI MERKEZİ (KOÇ İLETİŞİM) satış yapsın } if (request.customerid == 0) { var oldCust = db.customer.Where(c => c.tc == request.tc && c.deleted == false).ToList(); if (oldCust.Count == 0) { var customer = new customer { customername = request.customername.ToUpper(), tc = request.tc, gsm = request.gsm, phone = request.phone, ilKimlikNo = request.ilKimlikNo, ilceKimlikNo = request.ilceKimlikNo, bucakKimlikNo = request.bucakKimlikNo, mahalleKimlikNo = request.mahalleKimlikNo, yolKimlikNo = 61, binaKimlikNo = 61, daire = 61, updatedby = request.salespersonel ?? 1458, // ÇAĞRI MERKEZİ (KOÇ İLETİŞİM) description = request.description, lastupdated = DateTime.Now, creationdate = DateTime.Now, deleted = false, email = request.email, superonlineCustNo = request.superonlineCustNo, }; db.customer.Add(customer); db.SaveChanges(); request.customerid = customer.customerid; } else { return(Request.CreateResponse(HttpStatusCode.OK, "Girilen TC Numarası Başkasına Aittir", "application/json")); } } var taskqueue = new adsl_taskqueue { appointmentdate = DateTime.Now, attachedobjectid = request.customerid, attachedpersonelid = request.salespersonel ?? 1458, // yoksa ÇAĞRI MERKEZİ (KOÇ İLETİŞİM)'a ata attachmentdate = DateTime.Now, creationdate = DateTime.Now, deleted = false, description = request.taskdescription, lastupdated = DateTime.Now, status = null, taskid = request.taskid, updatedby = request.salespersonel ?? 1458, fault = "Sinerji Çağrı" }; db.taskqueue.Add(taskqueue); db.SaveChanges(); taskqueue.relatedtaskorderid = taskqueue.taskorderno; db.SaveChanges(); if (request.productids != null && request.productids.Length > 0) { foreach (var item in request.productids) { var customerproducst = new adsl_customerproduct { taskid = taskqueue.taskorderno, customerid = request.customerid, productid = item, campaignid = request.campaignid, creationdate = DateTime.Now, lastupdated = DateTime.Now, updatedby = request.salespersonel ?? 1458, deleted = false }; db.customerproduct.Add(customerproducst); } db.SaveChanges(); } transaction.Commit(); WebApiConfig.updateAdslData(); logs(request, true, ""); return(Request.CreateResponse(HttpStatusCode.OK, "Tamamlandı", "application/json")); } catch (Exception e) { transaction.Rollback(); logs(request, false, e.Message); return(Request.CreateResponse(HttpStatusCode.OK, e.Message, "application/json")); } }