示例#1
0
        public AuditViewModel AddUpdateAudit(AuditViewModel model, int LoggedInUserId, int LoggedInOrganizationId)
        {
            Audit _audit = Mapper.Map<AuditViewModel, Audit>(model);
            _audit.AuditSubjects = null;
            _audit.OrganizationID = LoggedInOrganizationId;

            if (model.AuditID == 0)
            {
                base.Insert(_audit);
                this._unitOfWork.Save();
                model.AuditSubjects.ForEach(x =>
                {
                    x.AuditID = _audit.AuditID;
                });
                _IAuditSubjectRepository.AddAuditSubject(model, LoggedInOrganizationId);
            }
            else
            {
                _audit = GetSingle(model.AuditID, LoggedInOrganizationId);
                _audit.Title = model.Title;
                _audit.Scope = model.Scope;
                _audit.DueDate = model.DueDate;
                base.Update(_audit);
                this._unitOfWork.Save();

                //base.RepositoryContext.SP_DeleteAuditSubject(model.AuditID);
                model.AuditSubjects.ForEach(x =>
                {
                    x.AuditID = _audit.AuditID;
                });
                _IAuditSubjectRepository.AddUpdateAuditSubject(model, LoggedInOrganizationId);
            }

            model = Mapper.Map<Audit, AuditViewModel>(_audit);
            return model;
        }