public Dictionary <string, object> Add([FromBody] ElseCost elseCost) { if (elseCost.OwnerId == 0) { result["code"] = "failed"; message.Add("必须选择一个业主"); } else { if (elseCost.IsDeposit) { elseCost.LeftAmount = elseCost.Amount; } elseCost.UserId = user.UserId; elseCost.OprationName = user.UserName; elseCost.CreateTime = Ricky.Common.NowDate; if (elseCost.Status == 1) { elseCost.PayTime = elseCost.CreateTime; Owner owner = db.Owners.FirstOrDefault(w => w.OwnerId == elseCost.OwnerId); elseCost.PayerName = string.IsNullOrEmpty(owner.CheckInName) ? owner.OwnerName : owner.CheckInName; } db.ElseCosts.Add(elseCost); db.SaveChanges(); } result["message"] = message; return(result); }
public Dictionary <string, object> Delete(int id) { ElseCost elseCost = db.ElseCosts.FirstOrDefault(w => w.ElseCostId == id); if (elseCost.Status > -1) { if (elseCost.Status == 1) { elseCost.PayTime = null; } elseCost.Status = -1; db.SaveChanges(); } else { result["code"] = "failed"; message.Add("此单已作废"); } result["message"] = message; return(result); }
public Dictionary <string, object> Modify([FromBody] ElseCost elseCost) { ElseCost newElseCost = db.ElseCosts.FirstOrDefault(w => w.ElseCostId == elseCost.ElseCostId); if (elseCost.Status > -1) { newElseCost.ConfigId = elseCost.ConfigId; newElseCost.ReceiptNo = elseCost.ReceiptNo; newElseCost.VoucherNo = elseCost.VoucherNo; newElseCost.PayWay = elseCost.PayWay; newElseCost.Remark = elseCost.Remark; if (newElseCost.Status == 0) { newElseCost.CostName = elseCost.CostName; newElseCost.IsDeposit = elseCost.IsDeposit; newElseCost.StartDate = elseCost.StartDate; newElseCost.EndDate = elseCost.EndDate; newElseCost.UnitPrice = elseCost.UnitPrice; newElseCost.Amount = elseCost.Amount; } if (newElseCost.Status == 0 && elseCost.Status == 1) { newElseCost.PayTime = Ricky.Common.NowDate; newElseCost.Status = elseCost.Status; newElseCost.OprationName = user.UserName; Owner owner = db.Owners.FirstOrDefault(w => w.OwnerId == newElseCost.OwnerId); newElseCost.PayerName = string.IsNullOrEmpty(owner.CheckInName) ? owner.OwnerName : owner.CheckInName; } db.SaveChanges(); } else { result["code"] = "failed"; message.Add("此单已作废"); } result["message"] = message; return(result); }
public async Task <HttpResponseMessage> Import() { if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } MultipartMemoryStreamProvider provider = await Request.Content.ReadAsMultipartAsync(); HttpContent content = provider.Contents.First(); Stream stream = await content.ReadAsStreamAsync(); string fileName = content.Headers.ContentDisposition.FileName.Trim('"'); DataTable dt = Excel.ExcelToDataTable(fileName, stream); dt.Columns.Add("导入状态"); dt.Columns.Add("导入备注"); foreach (DataRow dr in dt.Rows) { string EstateName = dr[0].ToString(); if (!string.IsNullOrEmpty(EstateName)) { Estate estate = db.Estates.FirstOrDefault(w => w.EstateName == EstateName); if (estate != null) { string HouseNo = dr[1].ToString(); House house = db.Houses.FirstOrDefault(w => w.EstateId == estate.EstateId && w.HouseNo == HouseNo); if (house != null) { Owner owner = db.Owners.FirstOrDefault(w => w.HouseId == house.HouseId); if (owner != null) { try { ElseCost elseC = new ElseCost(); elseC.OwnerId = owner.OwnerId; elseC.PayerName = owner.CheckInName; elseC.CostName = dr[2].ToString(); elseC.Amount = decimal.Parse(dr[3].ToString()); DateTime PayTime = DateTime.MinValue; if (DateTime.TryParse(dr[4].ToString(), out PayTime)) { elseC.PayTime = PayTime; } DateTime StartDate = DateTime.MinValue; if (DateTime.TryParse(dr[5].ToString(), out StartDate)) { elseC.StartDate = StartDate; } DateTime EndDate = DateTime.MinValue; if (DateTime.TryParse(dr[6].ToString(), out EndDate)) { elseC.EndDate = EndDate; } elseC.ReceiptNo = dr[7].ToString(); elseC.VoucherNo = dr[8].ToString(); elseC.OprationName = dr[9].ToString(); elseC.PayWay = dr[10].ToString(); elseC.Remark = dr[11].ToString(); if (elseC.PayTime != null) { elseC.Status = 1; elseC.CreateTime = elseC.PayTime.Value; } else { elseC.CreateTime = DateTime.Now; } if (db.ElseCosts.Count(w => w.OwnerId == elseC.OwnerId && w.Amount == elseC.Amount && w.PayTime == elseC.PayTime && w.StartDate == elseC.StartDate && w.EndDate == elseC.EndDate) == 0) { db.ElseCosts.Add(elseC); db.SaveChanges(); dr[12] = "成功"; dr[13] = "新增"; } else { ElseCost newElseC = db.ElseCosts.First(w => w.OwnerId == elseC.OwnerId && w.Amount == elseC.Amount && w.PayTime == elseC.PayTime && w.StartDate == elseC.StartDate && w.EndDate == elseC.EndDate); Ricky.ObjectCopy.Copy <ElseCost>(elseC, newElseC, new string[] { "ElseCostId", "PayerName", "UserId" }); db.SaveChanges(); dr[12] = "成功"; dr[13] = "修改"; } } catch (Exception e) { dr[12] = "失败"; dr[13] = e.Message; } } else { dr[12] = "失败"; dr[13] = "没有找到业主"; } } else { dr[12] = "失败"; dr[13] = "沒有找到此房产"; } } else { dr[12] = "失败"; dr[13] = "沒有找到此小区"; } } else { dr[12] = "失败"; dr[13] = "缺少所属小区名称"; } } string fileSaveLocation = HttpContext.Current.Server.MapPath("~/upload/else-cost"); if (!Directory.Exists(fileSaveLocation)) { Directory.CreateDirectory(fileSaveLocation); } string Name = fileName.Substring(0, fileName.LastIndexOf('.')); Excel excel = new Excel(dt); string saveFileName = string.Format("{1}{2}.xlsx", fileSaveLocation, Name, DateTime.Now.ToString("yyyyMMddHHmmssfff")); excel.Save(fileSaveLocation + "\\" + saveFileName); return(Request.CreateResponse(HttpStatusCode.OK, new { Status = 1, filename = saveFileName })); }