예제 #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            /*Step1:删除预留字段*/
            var item = (from cr in db.ContractReserves
                        where cr.Number == id
                        select new ContractViewModel {
                Id = cr.Id
            }).ToList();

            foreach (var temp in item)
            {
                ContractReserve cr = db.ContractReserves.Find(temp.Id);
                db.ContractReserves.Remove(cr);
            }
            db.SaveChanges();

            /*Step2:删除固定字段*/
            Contract contract = db.Contracts.Find(id);
            FileInfo file     = new FileInfo(Server.MapPath("/files/" + contract.ContractAttachmentName)); //指定文件路径

            if (file.Exists)                                                                               //判断文件是否存在
            {
                file.Attributes = FileAttributes.Normal;                                                   //将文件属性设置为普通,比方说只读文件设置为普通
                file.Delete();                                                                             //删除文件
            }
            db.Contracts.Remove(contract);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
예제 #2
0
        public ActionResult Edit(ContractViewModel contract, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                if (file != null)
                {
                    //先原删除文件
                    FileInfo file1 = new FileInfo(Server.MapPath("/files/" + contract.ContractAttachmentName)); //指定文件路径
                    if (file1.Exists)                                                                           //判断文件是否存在
                    {
                        file1.Attributes = FileAttributes.Normal;                                               //将文件属性设置为普通,比方说只读文件设置为普通
                        file1.Delete();                                                                         //删除文件
                    }
                    //增加新文件
                    string miniType   = file.ContentType;
                    Stream fileStream = file.InputStream;
                    string path       = AppDomain.CurrentDomain.BaseDirectory + "files\\";
                    string filename   = Path.GetFileName(file.FileName);
                    file.SaveAs(Path.Combine(path, filename));


                    contract.ContractAttachmentType = miniType;
                    contract.ContractAttachmentName = filename;
                    contract.ContractAttachmentUrl  = Path.Combine(path, filename);
                    Contract c = db.Contracts.Find(contract.Id);
                    c.ContractAttachmentName = contract.ContractAttachmentName;
                    c.ContractAttachmentType = contract.ContractAttachmentType;
                    c.ContractAttachmentUrl  = contract.ContractAttachmentUrl;
                    c.SignDate       = contract.SignDate;
                    c.DueDate        = contract.DueDate;
                    c.Amount         = contract.Amount;
                    c.ContractObject = contract.ContractObject;
                    c.ChangePerson   = base.Name;
                    c.ChangeTime     = DateTime.Now;
                    /*查找预留字段(value)*/
                    var fieldValueList = (from cr in db.ContractReserves
                                          join rf in db.ReserveFields on cr.FieldId equals rf.Id
                                          where cr.Number == contract.Id && rf.Status == true
                                          select new ContractViewModel {
                        Id = cr.Id, Description = rf.Description, Value = cr.Value
                    }).ToList();
                    /*给预留字段赋值*/
                    foreach (var temp in fieldValueList)
                    {
                        ContractReserve cr = db.ContractReserves.Find(temp.Id);
                        cr.Value = Request[temp.Description];
                        db.SaveChanges();
                    }

                    //db.Entry(contract).State = EntityState.Modified;
                    db.SaveChanges();
                }
                else
                {
                    /*查找预留字段(value)*/
                    var fieldValueList = (from cr in db.ContractReserves
                                          join rf in db.ReserveFields on cr.FieldId equals rf.Id
                                          where cr.Number == contract.Id && rf.Status == true
                                          select new ContractViewModel {
                        Id = cr.Id, Description = rf.Description, Value = cr.Value
                    }).ToList();
                    /*给预留字段赋值*/
                    foreach (var temp in fieldValueList)
                    {
                        ContractReserve cr = db.ContractReserves.Find(temp.Id);
                        cr.Value = Request[temp.Description];
                        db.SaveChanges();
                    }
                    Contract c = db.Contracts.Find(contract.Id);
                    //c.ContractAttachmentName = contract.ContractAttachmentName;
                    c.ContractNumber = contract.ContractNumber;
                    c.ChangePerson   = base.Name;
                    c.ChangeTime     = DateTime.Now;
                    c.SignDate       = contract.SignDate;
                    c.DueDate        = contract.DueDate;
                    c.Amount         = contract.Amount;
                    c.ContractObject = contract.ContractObject;
                    c.Remark         = contract.Remark;
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            /*查找表预留字段*/
            var fieldList = (from cr in db.ContractReserves
                             join rf in db.ReserveFields on cr.FieldId equals rf.Id
                             where cr.Number == contract.Id && rf.Status == true
                             select new ContractViewModel {
                Id = cr.Id, Description = rf.Description, Value = cr.Value
            }).ToList();

            ViewBag.fieldList = fieldList;
            return(View(contract));
        }
예제 #3
0
        public ActionResult Create(Contract contract1, HttpPostedFileBase file)
        {
            if (ModelState.IsValid)
            {
                if (HasFiles.HasFile(file))
                {
                    string miniType   = file.ContentType;
                    Stream fileStream = file.InputStream;
                    string path       = AppDomain.CurrentDomain.BaseDirectory + "files\\";
                    string filename   = Path.GetFileName(file.FileName);
                    file.SaveAs(Path.Combine(path, filename));
                    contract1.ContractAttachmentType = miniType;
                    contract1.ContractAttachmentName = filename;
                    contract1.ContractAttachmentUrl  = Path.Combine(path, filename);
                }

                contract1.RecordTime   = DateTime.Now;
                contract1.RecordPerson = base.Name;
                byte status = AuditApplicationContract(contract1);
                //需要对原表做出的修改
                contract1.AuditStatus = status;
                db.Contracts.Add(contract1);//存储到数据库
                db.SaveChanges();
                //没有找到该单据的审批模板
                if (status == 7)
                {
                    ViewBag.alertMessage = true;
                    ContractViewModel contract = new ContractViewModel();
                    contract.BillTypeNumber = contract1.BillTypeNumber;
                    contract.BillNumber     = contract1.BillNumber;
                    contract.Department     = Request["Department"];
                    contract.ContractNumber = contract1.ContractNumber;
                    contract.SecondParty    = contract1.SecondParty;
                    contract.SignDate       = contract1.SignDate;
                    contract.DueDate        = contract1.DueDate;
                    contract.Amount         = contract1.Amount;
                    contract.ContractObject = contract1.ContractObject;
                    contract.Remark         = contract1.Remark;

                    ViewBag.company = this.CompanyFullName;
                    var fieldList1 = (from p in db.ReserveFields
                                      join q in db.TableNameContrasts
                                      on p.TableNameId equals q.Id
                                      where q.TableName == "Contracts" && p.Status == true
                                      select p).ToList();
                    ViewBag.fieldList = fieldList1;
                    return(View(contract));
                }

                var fieldList = (from p in db.ReserveFields
                                 join q in db.TableNameContrasts
                                 on p.TableNameId equals q.Id
                                 where q.TableName == "Contracts" && p.Status == true
                                 select p).ToList();
                ViewBag.fieldList = fieldList;

                /*遍历,保存员工基本信息预留字段*/
                foreach (var temp in fieldList)
                {
                    ContractReserve cr = new ContractReserve();
                    cr.Number  = contract1.Id;
                    cr.FieldId = temp.Id;
                    cr.Value   = Request[temp.FieldName];
                    /*占位,为了在Index中显示整齐的格式*/
                    if (cr.Value == null)
                    {
                        cr.Value = " ";
                    }
                    db.ContractReserves.Add(cr);
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                ViewBag.company = this.CompanyFullName;
                var fieldList = (from p in db.ReserveFields
                                 join q in db.TableNameContrasts
                                 on p.TableNameId equals q.Id
                                 where q.TableName == "Contracts" && p.Status == true
                                 select p).ToList();
                ViewBag.fieldList = fieldList;
                ContractViewModel contract = new ContractViewModel();
                contract.BillTypeNumber = contract1.BillTypeNumber;
                contract.BillNumber     = contract1.BillNumber;
                contract.Department     = Request["Department"];
                contract.ContractNumber = contract1.ContractNumber;
                contract.SecondParty    = contract1.SecondParty;
                contract.SignDate       = contract1.SignDate;
                contract.DueDate        = contract1.DueDate;
                contract.Amount         = contract1.Amount;
                contract.ContractObject = contract1.ContractObject;
                contract.Remark         = contract1.Remark;
                //contract.AuditPerson = contract1.AuditPerson;
                //contract.AuditStatusName = contract1.AuditStatusName;
                //contract.AuditStatus = contract1.AuditStatus;
                return(View(contract));
            }
        }