Exemplo n.º 1
0
        public ClauseModel GetClauseById(string clauseId)
        {
            ClauseModel clauseModel = new ClauseModel();

            using (MySqlConnection con = new MySqlConnection(connectionString))
            {
                MySqlCommand cmd = new MySqlCommand("select * from clause where clause_ID='" + clauseId + "' ; ", con);
                //cmd.CommandType = CommandType.StoredProcedure;
                con.Open();
                MySqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    clauseModel.ClauseOldID   = rdr["clause_ID_old"].ToString();
                    clauseModel.ClauseID      = Convert.ToInt32(rdr["clause_ID"]);
                    clauseModel.DocumentID    = Convert.ToInt32(rdr["document_ID"]);
                    clauseModel.ClauseNo      = rdr["clause_no"].ToString();
                    clauseModel.ClausePage    = rdr["clause_page"].ToString();
                    clauseModel.ClauseContent = rdr["clause_content"].ToString();
                    clauseModel.DocVersionID  = Convert.ToInt32(rdr["doc_version_ID"]);
                    clauseModel.CreatedBy     = rdr["creator_ID"].ToString();
                    //document.UpdatedBy = Convert.ToInt32(rdr["creator_ID"]);
                    clauseModel.CreatedAt = rdr["created_at"].ToString();
                    //document.UpdatedAt = rdr["updated_at"].ToString();
                    //document.UpdatedBy = Convert.ToInt32(rdr["updated_by"]);
                    //employee.Gender = rdr["Gender"].ToString();
                    //employee.Department = rdr["Department"].ToString();
                    //employee.City = rdr["City"].ToString();
                }
                con.Close();
            }
            return(clauseModel);
        }
Exemplo n.º 2
0
 public IActionResult _Detail(string id,string actionType)
 {
     ClauseVM clauseVM = new ClauseVM();
     ClauseModel clauseModel = new ClauseModel();
     if (actionType.ToLower().Equals("insert"))
     {
         // Insert
         clauseVM.actionType = "insert";
         clauseVM.listDocument  = documentDAL.GetAllDocuments();
         clauseVM.listVersion = menuDAL.GetAllVersion();
     }
     else
     {
         // Update
         clauseVM.actionType = "Update";
         clauseVM.clauseModel = clauseDAL.GetClauseById(id);
         clauseVM.listDocument  = documentDAL.GetAllDocuments();
         clauseVM.listVersion = menuDAL.GetAllVersion();
         //clauseModel = clauseDAL.GetDocumentByID(id);
         ////documentVM.listDocument = documentDAL.GetAllDocuments().ToList();
         //documentVM.listDocType = menuDAL.GetAllDocType();
         //documentVM.listVersion = menuDAL.GetAllVersion();
         //documentVM.listDocStatus = menuDAL.GetAllDocStatus();
         //documentVM.documentModel = document;
     }
     return PartialView("_Detail", clauseVM);
 }
Exemplo n.º 3
0
        public List <ClauseModel> GetAllClause(out int totalCount)
        {
            List <ClauseModel> listClause = new List <ClauseModel>();

            using (MySqlConnection con = new MySqlConnection(connectionString))
            {
                MySqlCommand cmd = new MySqlCommand("select * from clause;", con);
                //cmd.CommandType = CommandType.StoredProcedure;
                con.Open();
                MySqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    ClauseModel clause = new ClauseModel();
                    clause.ClauseID      = Convert.ToInt32(rdr["clause_ID"]);
                    clause.DocumentID    = Convert.ToInt32(rdr["document_ID"]);
                    clause.ClauseNo      = rdr["clause_no"].ToString();
                    clause.ClausePage    = rdr["clause_page"].ToString();
                    clause.ClauseContent = rdr["clause_content"].ToString();
                    clause.DocVersionID  = Convert.ToInt32(rdr["doc_version_ID"]);
                    clause.CreatedBy     = rdr["creator_ID"].ToString();
                    //document.UpdatedBy = Convert.ToInt32(rdr["creator_ID"]);
                    clause.CreatedAt = rdr["created_at"].ToString();
                    //document.UpdatedAt = rdr["updated_at"].ToString();
                    //document.UpdatedBy = Convert.ToInt32(rdr["updated_by"]);
                    //employee.Gender = rdr["Gender"].ToString();
                    //employee.Department = rdr["Department"].ToString();
                    //employee.City = rdr["City"].ToString();
                    listClause.Add(clause);
                }
                con.Close();
            }
            totalCount = listClause.Count;
            return(listClause);
        }
        private OrganizationLicenseClause SetupLicenseClause(ClauseModel clause, OrganizationLicense license, LoggedInUserDetails user)
        {
            var clauseValue    = _licenseClauses.GetClauseData(clause);
            var consumerClause = new OrganizationLicenseClause
            {
                LicenseClauseID       = clause.ClauseId,
                OrganizationLicenseID = license.ID,
                CreatedBy             = user.ID.Value,
                CreatedAt             = GetDate,
                ClauseData            = clauseValue
            };

            return(consumerClause);
        }
Exemplo n.º 5
0
        public IActionResult UpdateClause([FromBody]ClauseModel clauseModel)
        {
            string result = "";
            try
            {
                result = clauseDAL.UpdateClause(clauseModel, HttpContext.User.Identity.Name);
            }
            catch (Exception)
            {
                result = "fail";
                //throw;
            }

            return Json(result);
        }
        public static ClauseModel ToModel(this LicenseClauseTemplate template, int sectionId)
        {
            var result = new ClauseModel();

            result.ClauseId         = template.LicenseClauseID;
            result.ClauseTemplateId = template.ID;
            result.LegalText        = template.LegalText;
            result.SectionId        = sectionId;
            result.Type             = template.ClauseType;

            if ((ClauseType)result.Type == ClauseType.InputAndDropDown)
            {
                result.SetupDropDownItems();
            }

            return(result);
        }
Exemplo n.º 7
0
        public String UpdateClause(ClauseModel clauseModel, string userName)
        {
            string result = "success";

            try
            {
                using (MySqlConnection con = new MySqlConnection(connectionString))
                {
                    string insert = "update clause set clause_ID_old=@clause_ID_old,document_ID=@document_ID,clause_no=@clause_no,clause_page=@clause_page,clause_content=@clause_content,doc_version_ID=@doc_version_ID" +
                                    ",updated_at=@updated_at,updated_by = (select id from aspnetusers where username = '******') where clause_ID=@clause_ID;";

                    con.Open();
                    MySqlCommand cmd = new MySqlCommand(insert, con);
                    cmd.Prepare();
                    cmd.Parameters.AddWithValue("@clause_ID", clauseModel.ClauseID.ToString());
                    cmd.Parameters.AddWithValue("@clause_ID_old", clauseModel.ClauseOldID.ToString());
                    cmd.Parameters.AddWithValue("@document_ID", clauseModel.DocumentID.ToString());
                    cmd.Parameters.AddWithValue("@clause_no", clauseModel.ClauseNo.ToString());
                    cmd.Parameters.AddWithValue("@clause_page", clauseModel.ClausePage.ToString());
                    cmd.Parameters.AddWithValue("@clause_content", clauseModel.ClauseContent.ToString());
                    cmd.Parameters.AddWithValue("@doc_version_ID", clauseModel.DocVersionID.ToString());
                    cmd.Parameters.AddWithValue("@updated_at", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    cmd.ExecuteNonQuery();
                    con.Close();
                }
            }
            catch (Exception ex)
            {
                result = "fail";
            }
            finally
            {
                StackTrace stackTrace  = new StackTrace();
                var        routeValues = System.Reflection.MethodBase.GetCurrentMethod().Name;
                String     caller      = stackTrace.GetFrame(1).GetMethod().Name.ToString();
                var        json        = JsonConvert.SerializeObject(clauseModel);
                ExceptionLogging.SendExcepToDB(json, "update", userName);
            }


            return(result);
        }
Exemplo n.º 8
0
        public String InsertClause(ClauseModel clauseModel, string userName)
        {
            string result = "success";

            try
            {
                using (MySqlConnection con = new MySqlConnection(connectionString))
                {
                    string insert = "insert into clause(clause_ID_old,document_ID,clause_no,clause_page,clause_content,doc_version_ID,creator_ID,created_at,updated_at,updated_by)" +
                                    "values (@clause_ID_old,@document_ID,@clause_no,@clause_page,@clause_content,@doc_version_ID,(select id from aspnetusers where username = '******'),@created_at,@updated_at,(select id from aspnetusers where username = '******'))";

                    con.Open();
                    MySqlCommand cmd = new MySqlCommand(insert, con);
                    cmd.Prepare();
                    cmd.Parameters.AddWithValue("@clause_ID_old", clauseModel.ClauseOldID.ToString());
                    cmd.Parameters.AddWithValue("@document_ID", clauseModel.DocumentID.ToString());
                    cmd.Parameters.AddWithValue("@clause_no", clauseModel.ClauseNo.ToString());
                    cmd.Parameters.AddWithValue("@clause_page", clauseModel.ClausePage.ToString());
                    cmd.Parameters.AddWithValue("@clause_content", clauseModel.ClauseContent.ToString());
                    cmd.Parameters.AddWithValue("@doc_version_ID", clauseModel.DocVersionID.ToString());
                    cmd.Parameters.AddWithValue("@created_at", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    cmd.Parameters.AddWithValue("@updated_at", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
                    cmd.ExecuteNonQuery();
                    con.Close();
                }
            }
            catch (Exception ex)
            {
                result = "fail";
            }finally
            {
                var json = JsonConvert.SerializeObject(clauseModel);
                ExceptionLogging.SendExcepToDB(json, "insert", userName);
            }


            return(result);
        }
        public string GetClauseData(ClauseModel selectedClause)
        {
            // Get template for clause
            var clauseTemplate = _clauseTemplates.FirstOrDefault(i => i.LicenseClauseID == selectedClause.ClauseId);

            switch ((ClauseType)selectedClause.Type)
            {
            case ClauseType.Text:
            {
                return(selectedClause.LegalText);
            }

            case ClauseType.Input:
            {
                var model = selectedClause;

                if (string.IsNullOrEmpty(model.InputValue))
                {
                    return(clauseTemplate.LegalText);
                }
                // Identify position where text should be inserted
                var indexOfOpenBracket = clauseTemplate.LegalText.IndexOf('{');

                // Insert text into brakets
                // Result will be like: charged at a rate of ${10}
                var result = clauseTemplate.LegalText.Insert(indexOfOpenBracket + 1, model.InputValue);

                // Return result
                return(result);
            }

            case ClauseType.InputAndDropDown:
            {
                // Check whether input has value
                if (string.IsNullOrEmpty(selectedClause.InputValue))
                {
                    selectedClause.InputValue = "0";
                }

                // Legal Text example: Consumer of data will be charged at a rate of ${} each {day,week,month}.
                var model = selectedClause;
                var indexOfOpenBracket   = clauseTemplate.LegalText.IndexOf('{');
                var index2OfOpenBracket  = clauseTemplate.LegalText.LastIndexOf('{');
                var index2OfCloseBracket = clauseTemplate.LegalText.LastIndexOf('}');

                // TODO: Make sure entered value validation does not allow to input '{' '}'
                // remove dropdown list items from text
                var legalText = clauseTemplate.LegalText.Remove(index2OfOpenBracket + 1,
                                                                index2OfCloseBracket - index2OfOpenBracket - 1);

                // Update index after text modification
                index2OfCloseBracket = legalText.LastIndexOf('}');

                // Insert DropDown selected value into a brackets location
                legalText = legalText.Insert(index2OfCloseBracket, model.SelectedItem);

                // insert value of input and selected dropdown item to template
                // Result will be like: charged at a rate of ${10} each {day}
                return(legalText.Insert(indexOfOpenBracket + 1, model.InputValue));
            }

            default:
                throw new BaseException("Unknown clause type");
            }
        }
        private ComparisonResult CompareClauses(OrganizationLicenseClause providerClause, ClauseModel consumerClause)
        {
            var result = new ComparisonResult();

            // Check whether clause selected by consumer
            if (!consumerClause.IsSelectedByConsumer)
            {
                // Setup result
                result.IsMatch = false;
                result.Message = "Not selected";

                // Return result
                return(result);
            }

            // Setup provider value
            var providerTemplate = _clauseTemplateService.FirstOrDefault(i => i.LicenseClauseID == providerClause.LicenseClauseID);
            var providerValue    = new ClauseValue(providerClause.ClauseData, (ClauseType)providerTemplate.ClauseType);

            // Setup consumer value
            var consumerClauseData = _licenseClauses.GetClauseData(consumerClause);
            var consumerValue      = new ClauseValue(consumerClauseData, (ClauseType)consumerClause.Type);

            // Compare values
            result = CompareClauseValues(providerValue, consumerValue);

            // Return result
            return(result);
        }