public static GLHeaderModel GetVoucher(string id) { GLHeaderModel jvHeader = new GLHeaderModel(service.GetSingle(id, AuthenticationHelper.CompanyId.Value)); jvHeader.GlLines = getGLLinesByHeaderId(id); return jvHeader; }
private static GLHeader getEntityByModel(GLHeaderModel model) { if (model == null) return null; GLHeader entity = new GLHeader(); entity.Id = model.Id; entity.JournalName = model.JournalName; entity.ConversionRate = model.ConversionRate; entity.CurrencyId = model.CurrencyId; entity.Description = model.Description; entity.DocumentNo = model.DocumentNo; entity.GLDate = model.GLDate; entity.PeriodId = model.PeriodId; entity.SOBId = model.SOBId; if (model.Id == 0) { entity.CreateBy = AuthenticationHelper.UserId; entity.CreateDate = DateTime.Now; entity.CompanyId = AuthenticationHelper.CompanyId.Value; } else { entity.CreateBy = model.CreateBy; entity.CreateDate = model.CreateDate; entity.CompanyId = model.CompanyId; } entity.UpdateBy = AuthenticationHelper.UserId; entity.UpdateDate = DateTime.Now; return entity; }
public static void Update(GLHeaderModel jv) { GLHeader entity = getEntityByModel(jv); string result = string.Empty; if (entity.IsValid()) { if (jv.Id > 0) result = service.Update(entity); else result = service.Insert(entity); if (!string.IsNullOrEmpty(result)) { var savedLines = getGLLinesByHeaderId(result); if (savedLines.Count() > jv.GlLines.Count()) { var tobeDeleted = savedLines.Take(savedLines.Count() - jv.GlLines.Count()); foreach (var item in tobeDeleted) { lineService.Delete(item.Id.ToString(), AuthenticationHelper.CompanyId.Value); } savedLines = getGLLinesByHeaderId(result); } foreach (var line in jv.GlLines) { GLLines lineEntity = getEntityByModel(line, jv.ConversionRate); if (lineEntity.IsValid()) { lineEntity.HeaderId = Convert.ToInt64(result); if (savedLines.Count() > 0) { lineEntity.Id = savedLines.FirstOrDefault().Id; savedLines.Remove(savedLines.FirstOrDefault(rec => rec.Id == lineEntity.Id)); lineService.Update(lineEntity); } else lineService.Insert(lineEntity); } } } } }