public ActionResult DeleteConfirmed(int id) { PhoneCallDetail phoneCallDetail = db.PhoneCallDetails.Find(id); db.PhoneCallDetails.Remove(phoneCallDetail); db.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit([Bind(Include = "KeyId,PhoneNumberFK,TimeStart,TimeFinish,SubTotal")] PhoneCallDetail phoneCallDetail) { if (ModelState.IsValid) { db.Entry(phoneCallDetail).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } return(View(phoneCallDetail)); }
private void LoadPhoneCallDetail(PhoneCallDetail phoneCallDetail) { if (phoneCallDetail != null) { int n = grvPhoneCallDetail.Rows.Add(); grvPhoneCallDetail.Rows[n].Cells[0].Value = phoneCallDetail.PhoneNumberFKNavigation.PhoneNo; grvPhoneCallDetail.Rows[n].Cells[1].Value = phoneCallDetail.TimeStart; grvPhoneCallDetail.Rows[n].Cells[2].Value = phoneCallDetail.TimeFinish; grvPhoneCallDetail.Rows[n].Cells[3].Value = phoneCallDetail.SubTotal; } }
public ActionResult Create([Bind(Include = "KeyId,PhoneNumberFK,TimeStart,TimeFinish,SubTotal")] PhoneCallDetail phoneCallDetail) { if (ModelState.IsValid) { db.PhoneCallDetails.Add(phoneCallDetail); db.SaveChanges(); return(RedirectToAction("Index")); } return(View(phoneCallDetail)); }
// GET: PhoneCallDetail/Delete/5 public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } PhoneCallDetail phoneCallDetail = db.PhoneCallDetails.Find(id); if (phoneCallDetail == null) { return(HttpNotFound()); } return(View(phoneCallDetail)); }
public List <PhoneCallDetail> RandomPhoneCallDetail(int lines, List <PhoneNumber> availableNumbers, DateTime dateStart, DateTime dateEnd) { List <PhoneCallDetail> phoneCallDetails = new List <PhoneCallDetail>(); for (int i = 0; i < lines; i++) { PhoneCallDetail phoneCallDetail = new PhoneCallDetail(); PhoneNumber phoneNumber = RandomPhoneNumber(availableNumbers); phoneCallDetail.KeyId = 0; phoneCallDetail.PhoneNumberFK = phoneNumber.KeyId; phoneCallDetail.TimeStart = RandomDateRange(dateStart, dateEnd); phoneCallDetail.TimeFinish = RandomDateEnd(phoneCallDetail.TimeStart); phoneCallDetail.SubTotal = 0; phoneCallDetails.Add(phoneCallDetail); } return(phoneCallDetails.OrderBy(x => x.TimeStart).ToList()); }
public void CalculatePhoneCallDetails(int Year, int Month) { DateTime dateStartOfMonth = new DateTime(Year, Month, 1); if (postageBUS.GetTheLastPostage() == null) { MessageBox.Show("Không có dữ liệu tính giá cước"); } else if (periodBUS.GetByDate(dateStartOfMonth) != null) { MessageBox.Show($"Dữ liệu cước tháng {dateStartOfMonth.Month}/{dateStartOfMonth.Year} đã được tính"); } else if (!CheckExistPhoneCallLog(dateStartOfMonth)) { MessageBox.Show($"Dữ liệu chi tiết cuộc gọi tháng {dateStartOfMonth.Month}/{dateStartOfMonth.Year} chưa có"); } else { string fileName = Month.ToString() + Year.ToString() + ".txt"; string dirRoot = Path.GetDirectoryName(Path.GetDirectoryName(System.IO.Directory.GetCurrentDirectory())); string dirOfFile = dirRoot + Const.PhoneCallDirection; string dirToFile = Path.Combine(dirOfFile, fileName); string message = ""; List <PhoneNumber> availablePhoneNumber = phoneNumberBUS.GetAvailablePhoneNumber(dateStartOfMonth); List <PhoneCallDetail> phoneCallDetails = new List <PhoneCallDetail>(); using (StreamReader sr = new StreamReader(dirToFile)) { string line; int lineNo = 0; while ((line = sr.ReadLine()) != null) { var data = line.Split('\t'); DateTime Start = new DateTime(); DateTime End = new DateTime(); if (!(DateTime.TryParse(data[1], out Start) && DateTime.TryParse(data[2], out End))) { message += $"Dòng thứ {lineNo} có lỗi: Ngày tháng bắt đầu hoặc kết thúc bị sai\n"; } else if (Start > End) { message += $"Dòng thứ {lineNo} có lỗi: Ngày bắt đầu sau ngày kết thúc\n"; } else if (!availablePhoneNumber.Any(x => x.KeyId == Convert.ToInt32(data[0]))) { message += $"Dòng thứ {lineNo} có lỗi: SĐT chưa đóng tiền hoặc điện thoại này không có hiệu lực\n"; } else { PhoneCallDetail phoneCallDetail = new PhoneCallDetail(); phoneCallDetail.PhoneNumberFK = Convert.ToInt32(data[0]); phoneCallDetail.TimeStart = Start; phoneCallDetail.TimeFinish = End; phoneCallDetail.SubTotal = ChargePhoneCallDetail(Start, End); phoneCallDetails.Add(phoneCallDetail); lineNo++; } } } if (message != "") { message += "Các dòng này sẽ không được ghi"; MessageBox.Show(message); } Period period = new Period(); period.PeriodPayment = dateStartOfMonth; Period periodRs = periodBUS.SaveEntities(period); phoneCallDetailDAL.Add(phoneCallDetails); List <InvoicePostage> result = phoneCallDetails .GroupBy(c => c.PhoneNumberFK) .Select(cl => new InvoicePostage { PeriodFK = periodRs.KeyId, PhoneNumberFK = cl.First().PhoneNumberFK, Total = cl.Sum(c => c.SubTotal), PaidPostage = false, }).ToList(); invoicePostageBUS.SaveEntities(result); MessageBox.Show($"Tính cước tháng {dateStartOfMonth.Month}/{dateStartOfMonth.Year} thành công"); } }