public ActionResult Show(String SerialNumber) { var application = _applicationFormService.ApplicationForms.FirstOrDefault(c => c.SerialNumber == SerialNumber); if (application == null) { return(PartialView("Create", new ApplicationFormVM())); } var model = new ApplicationFormVM() { SerialNumber = application.SerialNumber, ProjectNumber = application.ProjectNumber, TaskName = application.TaskName, ProjectDirector = application.ProjectDirector, DepartmentName = application.DepartmentName, Agent = application.Agent, PaymentType = application.PaymentType, SubmitTime = application.SubmitTime, AuditStatus = application.AuditStatus, AuditOpinion = application.AuditOpinion, ApplyDesp = application.ApplyDesp, AuditTime = application.AuditTime, Summation = application.Summation, RefundType = application.RefundType, UserName = application.UserName }; return(PartialView("Show", model)); }
public OperationResult Update(ApplicationFormVM model) { try { ApplicationForm applicationForm = _ApplicationFormRepository.Entities.FirstOrDefault(c => c.SerialNumber == model.SerialNumber.Trim()); if (applicationForm == null) { throw new Exception(); } applicationForm.SerialNumber = model.SerialNumber; applicationForm.ProjectNumber = model.ProjectNumber; applicationForm.TaskName = model.TaskName; applicationForm.DepartmentName = model.DepartmentName; applicationForm.RefundType = model.RefundType; applicationForm.ProjectDirector = model.ProjectDirector; applicationForm.Agent = model.Agent; applicationForm.PaymentType = model.PaymentType; applicationForm.AuditStatus = model.AuditStatus; applicationForm.SubmitTime = model.SubmitTime; applicationForm.AuditTime = model.AuditTime; applicationForm.AuditOpinion = model.AuditOpinion; applicationForm.ApplyDesp = model.ApplyDesp; applicationForm.Summation = model.Summation; applicationForm.UserName = model.UserName; applicationForm.UpdateDate = DateTime.Now; _ApplicationFormRepository.Update(applicationForm); return(new OperationResult(OperationResultType.Success, "更新数据成功!")); } catch (Exception ex) { _log.Error("更新申请表数据失败", ex); return(new OperationResult(OperationResultType.Error, "更新数据失败!")); } }
public ActionResult SubmitApplication([FromBody] ApplicationFormVM form) { var application = MapApplicationFormToApplication(this._db, form, asStaff: false); this._db.Add(application); this._db.SaveChanges(); return(Json(form)); }
public ActionResult Save(ApplicationFormVM formVM) { ApplicationForm form = _applicationFormService.ApplicationForms.FirstOrDefault(t => t.SerialNumber == formVM.SerialNumber); if (form == null) { formVM.SubmitTime = DateTime.Now; _applicationFormService.Insert(formVM); } else { form.UpdateDate = DateTime.Now; _applicationFormService.Update(formVM); } return(Json(new { }, JsonRequestBehavior.AllowGet)); }
public ActionResult UpdateApplication([FromBody] ApplicationFormVM form) { var now = DateTime.UtcNow; using (var transaction = this._db.Database.BeginTransaction()) { var newVersion = MapApplicationFormToApplication(this._db, form, asStaff: true); var oldVersion = this._db.StudentApplications.FirstOrDefault(a => a.StudentApplicationId == form.ApplicationId); this._db.Remove(oldVersion); this._db.SaveChanges(); newVersion.StudentApplicationId = oldVersion.StudentApplicationId; this._db.Add(newVersion); this._db.SaveChanges(); transaction.Commit(); } return(new StatusCodeResult((int)HttpStatusCode.NoContent)); }
public OperationResult Insert(ApplicationFormVM model) { try { ApplicationForm applicationForm = _ApplicationFormRepository.Entities.FirstOrDefault(c => c.SerialNumber == model.SerialNumber.Trim()); if (applicationForm != null) { return(new OperationResult(OperationResultType.Warning, "数据库中已经存在相同的申请单,请修改后重新提交!")); } if (model.ProjectNumber == null || model.ProjectNumber.Trim() == "") { return(new OperationResult(OperationResultType.Warning, "课题编号不能为空,请修改后重新提交!")); } var entity = new ApplicationForm { SerialNumber = model.SerialNumber, DepartmentName = model.DepartmentName, ProjectNumber = model.ProjectNumber, TaskName = model.TaskName, RefundType = model.RefundType, ProjectDirector = model.ProjectDirector, PaymentType = model.PaymentType, Agent = model.Agent, AuditStatus = model.AuditStatus, SubmitTime = model.SubmitTime, AuditTime = model.AuditTime, AuditOpinion = model.AuditOpinion, ApplyDesp = model.ApplyDesp, Summation = model.Summation, UserName = model.UserName, UpdateDate = DateTime.Now }; _ApplicationFormRepository.Insert(entity); return(new OperationResult(OperationResultType.Success, "新增数据成功!")); } catch (Exception ex) { _log.Error("导入申请表数据失败", ex); return(new OperationResult(OperationResultType.Error, "新增数据失败,数据库插入数据时发生了错误!")); } }
// POST: /App/ApplyForm/Create/ public ActionResult Create() { //申请单流水号 var timeNow = System.DateTime.Now; string userid = ((System.Web.Security.FormsIdentity)(System.Web.HttpContext.Current.User.Identity)).Ticket.UserData; var serialNumber = String.Format("S{0}_{1}", userid, timeNow.ToString("yyyyMMddHHmmssffff")); //获取登录用户名 //string userid = ((System.Web.Security.FormsIdentity)(System.Web.HttpContext.Current.User.Identity)).Ticket.UserData; var userID = Int32.Parse(userid); User user = this._userService.Users.FirstOrDefault(t => t.Id == userID); var model = new ApplicationFormVM() { SerialNumber = serialNumber, AuditStatus = "待提交", SubmitTime = DateTime.Now, UserName = user.UserName }; return(PartialView(model)); }
private static StudentApplication MapApplicationFormToApplication(ExchangeDbContext db, ApplicationFormVM form, bool asStaff) { var now = DateTime.UtcNow; Func <String, UWAUnitLevel?> parseUnitLevel = (label) => { object level; if (Enum.TryParse(typeof(UWAUnitLevel), label, true, out level)) { return((UWAUnitLevel?)level); } return((UWAUnitLevel?)null); }; var newApplication = new StudentApplication { SubmittedAt = now, LastUpdatedAt = now, StudentName = form.StudentDetailsForm.Name, StudentNumber = form.StudentDetailsForm.Email, Major1st = form.StudentDetailsForm.Major, Major2nd = form.StudentDetailsForm.Major2nd, StudentOffice = form.StudentDetailsForm.StudentOffice?.Value, ExchangeUniversityCountry = form.ExchangeUniversityForm.UniversityCountry, ExchangeUniversityName = form.ExchangeUniversityForm.UniversityName, ExchangeUniversityHref = form.ExchangeUniversityForm.UniversityHomepage, UnitSets = form.UnitSetForms.Select(f => new UnitSet { ExchangeUniversityCountry = form.ExchangeUniversityForm.UniversityCountry, ExchangeUniversityName = form.ExchangeUniversityForm.UniversityName, ExchangeUniversityHref = form.ExchangeUniversityForm.UniversityHomepage, IsEquivalent = asStaff ? f.StaffApprovalForm.IsEquivalent.Value : (bool?)null, IsContextuallyApproved = asStaff ? f.StaffApprovalForm.IsContextuallyApproved.Value : (bool?)null, EquivalentUWAUnitLevel = asStaff ? parseUnitLevel(f.StaffApprovalForm.EquivalentUnitLevel.Label) : (UWAUnitLevel?)null, ExchangeUnits = f.ExchangeUnitForms.Select(u => new ExchangeUnit { Code = u.UnitCode, Title = u.UnitName, Href = u.UnitHref }).ToList(), UWAUnits = f.UWAUnitForms?.Select(u => new UWAUnit { Code = u.UnitCode, Title = u.UnitName, Href = u.UnitHref }).ToList() ?? new List <UWAUnit>(), Comments = f.StaffApprovalForm.Comments }).ToList(), }; /* Calculate the status of the application */ newApplication.Status = MapUnitSetsToStatus(newApplication.UnitSets); /* Preserve when the student submitted the application */ if (asStaff && form.ApplicationId.HasValue) { var oldApplication = db.StudentApplications.FirstOrDefault(a => a.StudentApplicationId == form.ApplicationId); if (oldApplication != null) { newApplication.SubmittedAt = oldApplication.SubmittedAt; } } return(newApplication); }
public ActionResult ApplyAudit(ApplicationFormVM formVM) { bool hasAudit = false; var serialNumbers = Session["AuditSerials"] as String[]; foreach (var serialNumber in serialNumbers) { ApplicationForm form = _applicationFormService.ApplicationForms.FirstOrDefault(t => t.SerialNumber == serialNumber); if (form != null) { if (form.AuditStatus.Equals("审核通过") && formVM.AuditStatus.Equals("审核通过")) { continue; } form.AuditStatus = formVM.AuditStatus; if (!string.IsNullOrEmpty(formVM.AuditOpinion)) { form.AuditOpinion = formVM.AuditOpinion; form.AuditTime = DateTime.Now; } hasAudit = true; //若审核通过,开始算税,单笔税保存在TaxPerOrder表 if (formVM.AuditStatus.Equals("审核通过")) { List <PersonalRecord> records = GetPersonalDatas(serialNumber); TaxPerOrder taxPerOrder = null; //check totalsum is equal or not 20210108 //begin int equalFlag = 0; double sumTotalApp = form.Summation; double sumTotalRec = 0.0; if (records != null) { for (int c = 0; c < records.Count; c++) { sumTotalRec = sumTotalRec + records[c].Amount; } } if (sumTotalApp == sumTotalRec) { equalFlag = 1; } //end //check totalamonutY by projectnumber is available or not 20210509 //begin string pjNum = form.ProjectNumber.Split('|')[0].Trim(); TaskManage taskManage = _taskManageService.GetTaskByNumber(pjNum); double totalAmonutYByPjNum = _taxPerOrderService.GetTotalAmountYByPjNum(pjNum) + form.Summation; if (taskManage != null && taskManage.Deficit != null) { if ("否".Equals(taskManage.Deficit.Trim())) { if (taskManage.AvailableFund - totalAmonutYByPjNum < 0) { return(Json("availableFund insufficient,课题号为:" + form.ProjectNumber, JsonRequestBehavior.AllowGet)); //return Json("availableFund insufficient", JsonRequestBehavior.AllowGet); } } } //end if (equalFlag == 1) { if (records != null) { for (int i = 0; i < records.Count; i++) { taxPerOrder = new TaxPerOrder(); taxPerOrder.SerialNumber = form.SerialNumber; if (!String.IsNullOrEmpty(form.ProjectNumber) && !form.ProjectNumber.Equals("无")) { string[] projectSep = form.ProjectNumber.Split('|'); taxPerOrder.ProjectNumber = projectSep[0].Trim(); if (projectSep.Length > 1) { taxPerOrder.TaskName = projectSep[1].Trim(); } else { taxPerOrder.TaskName = form.TaskName; } } else { taxPerOrder.ProjectNumber = "无"; taxPerOrder.TaskName = "无"; } taxPerOrder.RefundType = form.RefundType; taxPerOrder.ProjectDirector = form.ProjectDirector; taxPerOrder.Agent = form.Agent; taxPerOrder.Name = records[i].Name; taxPerOrder.PersonType = records[i].PersonType; taxPerOrder.CertificateType = records[i].CertificateType; taxPerOrder.CertificateID = records[i].CertificateID; taxPerOrder.Amount = records[i].Amount; taxPerOrder.TaxOrNot = records[i].TaxOrNot; taxPerOrder.Bank = records[i].Bank; taxPerOrder.BankDetailName = records[i].BankDetailName; taxPerOrder.ProvinceCity = records[i].ProvinceCity; taxPerOrder.CityField = records[i].CityField; taxPerOrder.AccountName = records[i].AccountName; taxPerOrder.AccountNumber = records[i].AccountNumber; taxPerOrder.PaymentType = form.PaymentType; taxPerOrder.Tele = records[i].Tele; _taxPerOrderService.Insert(taxPerOrder); } } } else { return(Json("sum error", JsonRequestBehavior.AllowGet)); } } else if (formVM.AuditStatus.Equals("已退回")) { //删除TaxPerOrder表中审核通过时的记录(主要是保证多次审核的情况,如第一次审核通过,发现问题,重新审核为退回) _taxPerOrderService.DeleteBySerialNumber(serialNumber); } form.UpdateDate = DateTime.Now; _applicationFormService.Update(form); } } Session.Remove("AuditSerials"); if (hasAudit) { return(Json("sum success", JsonRequestBehavior.AllowGet)); } else { return(Json("no sum", JsonRequestBehavior.AllowGet)); } }