예제 #1
0
        public IActionResult AddDetail(BranchDetails details)
        {
            _log4net.Info("Http POST Request For Branch Details");
            if (ModelState.IsValid)
            {
                try
                {
                    var Id = ibranch.AddDetail(details);
                    if (Id > 0)
                    {
                        return(Ok(Id));
                    }
                    else
                    {
                        return(NotFound());
                    }
                }
                catch (Exception)
                {
                    return(BadRequest());
                }
            }

            return(BadRequest());
        }
예제 #2
0
        private void Synchronize()
        {
            try
            {
                lblError.Text = string.Empty;

                Branch        clsBranch        = new Branch();
                BranchDetails clsBranchDetails = clsBranch.Details(Convert.ToInt16(cboBranch.SelectedItem.Value.ToString()));
                clsBranch.CommitAndDispose();

                if (IPAddress.IsOpen(clsBranchDetails.DBIP, int.Parse(clsBranchDetails.DBPort)) == false)
                {
                    lblError.Text  = "Sorry cannot connect to Branch '" + cboBranch.SelectedItem.Text + "'. Please check you connection to IP Address :" + clsBranchDetails.DBIP + ". <br /><br />";
                    lblError.Text += "HOW TO CHECK : <br /><br />";
                    lblError.Text += "  1. Open command prompt<br />";
                    lblError.Text += "  2. Type ping[space][IP Address]<br /><br />";
                    lblError.Text += "If the answer is 'Request timed out.' then contact system administrator.<br />";
                    lblError.Text += "Else if the answer is 'Reply...' Follow the next steps.<br /><br />";
                    lblError.Text += "  3. Type telnet[space][IP Address][sapce][IP Port]<br /><br />";

                    return;
                }

                Session.Timeout = 60 * 60 * 30;
                RemoteBranchInventory clsBranchInventory = new RemoteBranchInventory();
                clsBranchInventory.GetConnectionToBranch(clsBranchDetails.DBIP);

                string[] InsertStatements = clsBranchInventory.GetInsertList(clsBranchDetails.BranchID);
                clsBranchInventory.CommitAndDispose();

                clsBranchInventory = new RemoteBranchInventory();
                clsBranchInventory.Delete(clsBranchDetails.BranchID);

                foreach (string InsertStatement in InsertStatements)
                {
                    try
                    {
                        clsBranchInventory.Insert(InsertStatement);
                        lblError.Text += InsertStatement + "<br /><br />";
                    }
                    catch {
                        lblError.Text += "<div class=ms-alternating> ERROR INSERTING ITEM: " + InsertStatement + "</div><br /><br />";
                        clsBranchInventory.Insert("';");
                    }
                }

                clsBranchInventory.CommitAndDispose();

                lblError.Text = "Done synchronizing Branch: " + clsBranchDetails.BranchCode + "<br /><br />" + lblError.Text;
            }
            catch (Exception ex)
            {
                lblError.Text += "ERROR WHILE CREATING INSERT STATEMENT: " + ex.Message;
                //throw ex;
            }
        }
예제 #3
0
        public int AddDetail(BranchDetails details)
        {
            if (db != null)
            {
                db.Branches.Add(details);
                db.SaveChanges();
                return(details.CustomerId);
            }

            return(0);
        }
예제 #4
0
        //[Authorize(Roles = "Admin")]
        public ActionResult Branch(BranchDetails BranchDetails)
        {
            string UserId      = User.Identity.GetUserId();
            var    UserDetails = generic.GetUserDetail(UserId);

            ViewData["UserProfile"] = UserDetails;

            bool result = rms.AddBranch(BranchDetails.BranchCode, BranchDetails.BranchName, BranchDetails.BranchZone, BranchDetails.CorporateId, UserDetails.SubscriberId);

            return(RedirectToAction("Branch", "RMS", new { Area = "RMS", status = result }));
        }
        public void Update_detail()
        {
            var x = new Mock <branch>(db);
            Branch_DetailsController obj  = new Branch_DetailsController(x.Object);
            BranchDetails            obj2 = new BranchDetails {
                CustomerId = 6, IFSC = "12345", Location = "fhgjg"
            };
            var data     = obj.UpdateDetail(2, obj2);
            var okResult = data as string;

            Assert.AreEqual("1", okResult);
        }
        public void Add_detail()
        {
            var x = new Mock <branch>(db);
            Branch_DetailsController obj = new Branch_DetailsController(x.Object);
            BranchDetails            n   = new BranchDetails {
                BranchId = 1, CustomerId = 1, Location = "Dummy Location 1", IFSC = "99999"
            };
            var data     = obj.AddDetail(n);
            var okResult = data as OkObjectResult;

            Assert.AreEqual(200, okResult.StatusCode);
        }
예제 #7
0
        private static string GetContributors(BranchDetails branch)
        {
            const int OwnerCount = 3;
            var       owners     = string.Empty;

            if (branch.Committers.Count > 0)
            {
                owners = string.Join(", ", branch.Committers.Take(OwnerCount).Select(x => x.Name));
                if (branch.Committers.Count > OwnerCount)
                {
                    owners += $" + {branch.Committers.Count - OwnerCount:N0} other(s)";
                }
            }

            return(owners);
        }
예제 #8
0
 public int UpdateDetail(int id, BranchDetails obj)
 {
     if (db != null)
     {
         BranchDetails val = db.Branches.Where(x => x.BranchId == id).FirstOrDefault();
         if (val != null)
         {
             val.CustomerId = obj.CustomerId;
             val.Location   = obj.Location;
             val.IFSC       = obj.IFSC;
             db.SaveChanges();
             return(1);
         }
     }
     return(0);
 }
예제 #9
0
        private void LoadRecord()
        {
            Int32         iID        = Convert.ToInt32(Common.Decrypt(Request.QueryString["id"], Session.SessionID));
            Branch        clsBranch  = new Branch();
            BranchDetails clsDetails = clsBranch.Details(iID);

            clsBranch.CommitAndDispose();

            lblBranchID.Text           = Convert.ToString(clsDetails.BranchID);
            txtBranchCode.Text         = clsDetails.BranchCode;
            txtBranchName.Text         = clsDetails.BranchName;
            txtDBIP.Text               = clsDetails.DBIP;
            txtDBPort.Text             = clsDetails.DBPort;
            txtAddress.Text            = clsDetails.Address;
            txtRemarks.Text            = clsDetails.Remarks;
            chkIncludeIneSales.Checked = clsDetails.IncludeIneSales;
        }
예제 #10
0
        private void SaveRecord()
        {
            Branch        clsBranch  = new Branch();
            BranchDetails clsDetails = new BranchDetails();

            clsDetails.BranchID        = Convert.ToInt32(lblBranchID.Text);
            clsDetails.BranchCode      = txtBranchCode.Text;
            clsDetails.BranchName      = txtBranchName.Text;
            clsDetails.DBIP            = txtDBIP.Text;
            clsDetails.DBPort          = txtDBPort.Text;
            clsDetails.Address         = txtAddress.Text;
            clsDetails.Remarks         = txtRemarks.Text;
            clsDetails.IncludeIneSales = chkIncludeIneSales.Checked;

            clsBranch.Update(clsDetails);
            clsBranch.CommitAndDispose();
        }
예제 #11
0
        private Int32 SaveRecord()
        {
            Branch        clsBranch  = new Branch();
            BranchDetails clsDetails = new BranchDetails();

            clsDetails.BranchCode      = txtBranchCode.Text;
            clsDetails.BranchName      = txtBranchName.Text;
            clsDetails.DBIP            = txtDBIP.Text;
            clsDetails.DBPort          = txtDBPort.Text;
            clsDetails.Address         = txtAddress.Text;
            clsDetails.Remarks         = txtRemarks.Text;
            clsDetails.IncludeIneSales = chkIncludeIneSales.Checked;

            int id = clsBranch.Insert(clsDetails);

            clsBranch.CommitAndDispose();

            return(id);
        }
예제 #12
0
        public string UpdateDetail(int id, BranchDetails obj)
        {
            _log4net.Info("Http PUT Request For Branch Details");
            if (ModelState.IsValid)
            {
                try
                {
                    var result = ibranch.UpdateDetail(id, obj);

                    return(result.ToString());
                }
                catch (Exception ex)
                {
                    if (ex.GetType().FullName ==
                        "Microsoft.EntityFrameworkCore.DbUpdateConcurrencyException")
                    {
                        return("from catch");
                    }

                    return("from catch else");
                }
            }
            return("if failed");
        }
예제 #13
0
 public void Add(BranchDetails newBranch)
 {
     _context.Add(newBranch);
     _context.SaveChanges();
 }
예제 #14
0
    protected void MB_btn_Update_Click(object sender, EventArgs e)
    {
        if (MB_txt_branchName.Text == "" ||

            MB_txt_ModuleCode.Text == "" ||
            MB_txt_ModuleName.Text == "" ||
            MB_txt_Network.Text == "" ||
            MB_txt_Region.Text == "")
        {
            PageUtility.MessageBox(this, "Please enter all values ");
            return;
        }

        if ((MB_txt_branchName.Text.ToCharArray().All(c => Char.IsLetter(c))) == false)
        {
            PageUtility.MessageBox(this, "Input data is invalid in branch name accepts only alphabetical characters ! Try again");
            MB_txt_branchName.Text.Remove(MB_txt_branchName.Text.Length - 1);
            return;
        }

        if ((MB_txt_ModuleCode.Text.ToCharArray().All(c => Char.IsNumber(c))) == false)
        {
            PageUtility.MessageBox(this, "Input data is invalid in module code accepts only numeric values ! Try again");
            MB_txt_ModuleCode.Text.Remove(MB_txt_ModuleCode.Text.Length - 1);
            return;
        }

        if ((MB_txt_ModuleName.Text.ToCharArray().All(c => Char.IsLetter(c))) == false)
        {
            PageUtility.MessageBox(this, "Input data is invalid in module name accepts only alphabetical characters ! Try again");
            MB_txt_ModuleName.Text.Remove(MB_txt_ModuleName.Text.Length - 1);
            return;
        }

        if ((MB_txt_Network.Text.ToCharArray().All(c => Char.IsNumber(c))) == false)
        {
            PageUtility.MessageBox(this, "Input data is invalid in branch code accepts only numeric values ! Try again");
            MB_txt_Network.Text.Remove(MB_txt_Network.Text.Length - 1);
            return;
        }

        if ((MB_txt_Region.Text.ToCharArray().All(c => Char.IsNumber(c))) == false)
        {
            PageUtility.MessageBox(this, "Input data is invalid in branch code accepts only numeric values ! Try again");
            MB_txt_Region.Text.Remove(MB_txt_Region.Text.Length - 1);
            return;
        }


        try
        {
            BranchDetails branchDetails = new BranchDetails();
            branchDetails.BranchCode  = MB_ddl_branch_code.SelectedItem.Text;
            branchDetails.BranchName  = MB_txt_branchName.Text;
            branchDetails.PersonName  = MB_txt_PersonName.Text;
            branchDetails.PersonPhone = MB_txt_PersonNumber.Text;
            branchDetails.PersonEmail = MB_txt_Email.Text;
            branchDetails.ModuleCode  = MB_txt_ModuleCode.Text;
            branchDetails.ModuleName  = MB_txt_ModuleName.Text;
            branchDetails.Network     = MB_txt_Network.Text;
            branchDetails.Region      = MB_txt_Region.Text;
            branchDetails.CircleCode  = MB_ddl_Circle_Name.SelectedItem.Value;

            WebClient client = new WebClient();

            client.Headers[HttpRequestHeader.ContentType] = "text/json";
            ServicePointManager.SecurityProtocol          = SecurityProtocolType.Tls12;
            string     JsonString    = JsonConvert.SerializeObject(branchDetails);
            EncRequest objEncRequest = new EncRequest();
            objEncRequest.RequestData = AesGcm256.Encrypt(JsonString);
            string dataEncrypted = JsonConvert.SerializeObject(objEncRequest);

            string result = client.UploadString(URL + "/ModifyBranch", "POST", dataEncrypted);

            EncResponse objResponse = JsonConvert.DeserializeObject <EncResponse>(result);
            objResponse.ResponseData = AesGcm256.Decrypt(objResponse.ResponseData);
            //objRes = JsonConvert.DeserializeObject<Reply>(objResponse.ResponseData);
            //DataContractJsonSerializer objDCS = new DataContractJsonSerializer(typeof(Reply));
            //MemoryStream objMS = new MemoryStream(Encoding.UTF8.GetBytes(objResponse.ResponseData));
            //result = (string)objDCS.ReadObject(objMS);

            Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer();
            json.NullValueHandling = NullValueHandling.Ignore;
            StringReader sr = new StringReader(objResponse.ResponseData);
            Newtonsoft.Json.JsonTextReader reader = new JsonTextReader(sr);
            result = json.Deserialize <string>(reader);

            if (result.Contains("true"))
            {
                PageUtility.MessageBox(this, "Branch Update Successfully");
            }
            else
            {
                PageUtility.MessageBox(this, "Failed");
            }
        }
        catch (Exception ex)
        {
            PageUtility.MessageBox(this, "Catch Error : " + ex.Message.ToString());
        }
        finally
        {
            MB_ddl_Circle_Name.ClearSelection();
            MB_ddl_branch_code.ClearSelection();
            MB_txt_branchName.Text        = MB_txt_Region.Text =
                MB_txt_ModuleCode.Text    = MB_txt_ModuleName.Text =
                    MB_txt_Network.Text   = MB_txt_PersonName.Text =
                        MB_txt_Email.Text = MB_txt_PersonNumber.Text = "";
        }
    }
예제 #15
0
        public void Analyze()
        {
            var repoPath = GetRepoPath();

            var branches = new List <BranchDetails>();

            using (var repo = new Repository(repoPath.FullName))
            {
                var mainBranch = repo.Branches[$"refs/remotes/{options.MainBranch}"];
                if (mainBranch == null)
                {
                    throw new Exception($"Unknown main branch {options.MainBranch}");
                }

                var mainCommits = new HashSet <string>(mainBranch.Commits.Select(x => x.Sha));

                foreach (var branch in repo.Branches.Where(x => x.IsRemote && x != mainBranch))
                {
                    var details = new BranchDetails {
                        BranchName = branch.FriendlyName
                    };
                    var    committers = new Dictionary <string, BranchCommitter>(StringComparer.CurrentCultureIgnoreCase);
                    Commit mainCommit = null;

                    branches.Add(details);

                    foreach (var commit in branch.Commits)
                    {
                        var committerName = commit.Committer.ToString();

                        if (mainCommits.Contains(commit.Sha))
                        {
                            if (mainCommit == null)
                            {
                                mainCommit = commit;
                            }

                            continue;
                        }

                        details.Commits++;

                        if (details.Commits == 1)
                        {
                            details.FirstCommit = commit.Committer.When;
                            details.LastCommit  = commit.Committer.When;
                            details.LastSha     = commit.Sha;
                        }
                        else
                        {
                            if (details.FirstCommit > commit.Committer.When)
                            {
                                details.FirstCommit = commit.Committer.When;
                            }

                            if (details.LastCommit < commit.Committer.When)
                            {
                                details.LastCommit = commit.Committer.When;
                                details.LastSha    = commit.Sha;
                            }
                        }

                        if (committers.TryGetValue(committerName, out var committer))
                        {
                            committer.Count++;
                            committer.MessageShorts.Add(commit.MessageShort);
                            if (committer.FirstCommit > commit.Committer.When)
                            {
                                committer.FirstCommit = commit.Committer.When;
                            }

                            if (committer.LastCommit < commit.Committer.When)
                            {
                                committer.LastCommit = commit.Committer.When;
                            }
                        }
                        else
                        {
                            committer = new BranchCommitter
                            {
                                Name          = committerName,
                                Count         = 1,
                                MessageShorts = new List <string> {
                                    commit.MessageShort
                                },
                                FirstCommit = commit.Committer.When,
                                LastCommit  = commit.Committer.When
                            };

                            committers.Add(committerName, committer);
                        }
                    }

                    if (committers.Count == 0 && mainCommit != null)
                    {
                        details.FirstCommit = mainCommit.Committer.When;
                        details.LastCommit  = mainCommit.Committer.When;
                        details.LastSha     = mainCommit.Sha;

                        var committerName = mainCommit.Committer.ToString();

                        var committer = new BranchCommitter
                        {
                            Name          = committerName,
                            Count         = 0,
                            MessageShorts = new List <string>(),
                            FirstCommit   = mainCommit.Committer.When,
                            LastCommit    = mainCommit.Committer.When
                        };

                        committers.Add(committerName, committer);
                    }

                    details.Committers = committers.Values.ToList();

                    details.Committers.Sort((x, y) =>
                    {
                        var r = y.Count - x.Count;
                        if (r != 0)
                        {
                            return(r);
                        }

                        r = y.LastCommit.CompareTo(x.LastCommit);
                        if (r != 0)
                        {
                            return(r);
                        }

                        return(string.Compare(x.Name, y.Name, StringComparison.CurrentCultureIgnoreCase));
                    });
                }
            }

            if (!string.IsNullOrEmpty(options.Branch))
            {
                branches = branches.Where(x =>
                                          x.BranchName.Contains(options.Branch, StringComparison.CurrentCultureIgnoreCase)).ToList();
            }

            if (!string.IsNullOrEmpty(options.Contributor))
            {
                branches = branches.Where(x =>
                                          x.Committers.Any(y => y.Name.Contains(options.Contributor, StringComparison.CurrentCultureIgnoreCase))).ToList();
            }

            branches.Sort((x, y) =>
            {
                var r = x.LastCommit.CompareTo(y.LastCommit);
                if (r != 0)
                {
                    return(r);
                }

                return(string.Compare(x.BranchName, y.BranchName, StringComparison.CurrentCultureIgnoreCase));
            });

            if (options.Verbosity == Verbosity.CSV)
            {
                Console.WriteLine("Branch Name,Last Commit,Commit Hash,Commits,Contributor(s)");
            }
            else
            {
                Console.WriteLine($"Found {branches.Count:N0} remote branches");
            }

            foreach (var branch in branches)
            {
                if (options.Verbosity == Verbosity.CSV)
                {
                    Console.WriteLine($"\"{branch.BranchName}\",{branch.LastCommit:dd MMM yyyy HH:mm:ss zzz},\"{branch.LastSha}\",{branch.Commits:N0}," + string.Join(",", branch.Committers.Select(x => "\"" + x.Name + "\"")));
                }
                else if (options.Verbosity == Verbosity.Compact)
                {
                    var contributors = GetContributors(branch);

                    Console.WriteLine($"{branch.BranchName}: {branch.LastCommit:dd MMM yyyy HH:mm:ss zzz} [{branch.Commits:N0} commit(s)] by {contributors} @ {branch.LastSha}");
                }
                else
                {
                    Console.WriteLine($"{branch.BranchName}:");
                    if (options.Verbosity == Verbosity.Normal)
                    {
                        Console.WriteLine($" Contributors: {GetContributors(branch)}");
                        Console.WriteLine($" Unmerged Commits: {branch.Commits:N0}");
                    }

                    switch (branch.Commits)
                    {
                    case 0:
                        Console.WriteLine($" Branch Commit: {branch.LastCommit:dd MMM yyyy HH:mm:ss zzz} [Hash {branch.LastSha}]");
                        break;

                    case 1:
                        Console.WriteLine($" Commit: {branch.LastCommit:dd MMM yyyy HH:mm:ss zzz} [Hash {branch.LastSha}]");
                        break;

                    default:
                        Console.WriteLine($" First Commit: {branch.FirstCommit:dd MMM yyyy HH:mm:ss zzz}");
                        Console.WriteLine($" Last Commit: {branch.LastCommit:dd MMM yyyy HH:mm:ss zzz} [Hash {branch.LastSha}]");
                        break;
                    }

                    if (options.Verbosity >= Verbosity.Contributors)
                    {
                        Console.WriteLine($" Contributors: {branch.Committers.Count:N0}");
                        foreach (var committer in branch.Committers)
                        {
                            var details = $"  * {committer.Name}: {committer.FirstCommit:dd MMM yyyy HH:mm:ss zzz} to {committer.LastCommit:dd MMM yyyy HH:mm:ss zzz}";

                            if (options.Verbosity == Verbosity.Logs)
                            {
                                Console.WriteLine(details);
                                foreach (var msg in committer.MessageShorts)
                                {
                                    Console.WriteLine($"   - {msg}");
                                }
                            }
                            else
                            {
                                Console.WriteLine($"{details} [{committer.Count:N0} commit(s)]");
                            }
                        }
                    }
                }
            }
        }
    protected void btn_Create_Circle_Click(object sender, EventArgs e)
    {
        try
        {
            if ((!string.IsNullOrEmpty(CL_txt_CircleCode.Text)) && (!string.IsNullOrEmpty(CL_txt_CircleName.Text)))
            {
                if ((CL_txt_CircleName.Text.ToCharArray().All(c => Char.IsLetter(c))) == false)
                {
                    PageUtility.MessageBox(this, "Input data is invalid accepts only alphabetical characters ! Try again");
                    CL_txt_CircleName.Text.Remove(CL_txt_CircleName.Text.Length - 1);
                    return;
                }

                if ((CL_txt_CircleCode.Text.ToCharArray().All(c => Char.IsNumber(c))) == false)
                {
                    PageUtility.MessageBox(this, "Input data is invalid accepts only numeric value ! Try again");
                    CL_txt_CircleCode.Text.Remove(CL_txt_CircleCode.Text.Length - 1);
                    return;
                }

                BranchDetails branchDetails = new BranchDetails();

                branchDetails.CircleCode = CL_txt_CircleCode.Text;
                branchDetails.CircleName = CL_txt_CircleName.Text;

                WebClient client = new WebClient();
                client.Headers[HttpRequestHeader.ContentType] = "text/json";
                ServicePointManager.SecurityProtocol          = SecurityProtocolType.Tls12;
                string     JsonString    = JsonConvert.SerializeObject(branchDetails);
                EncRequest objEncRequest = new EncRequest();
                objEncRequest.RequestData = AesGcm256.Encrypt(JsonString);
                string dataEncrypted = JsonConvert.SerializeObject(objEncRequest);

                string result = client.UploadString(URL + "/CreateLHO", "POST", dataEncrypted);

                EncResponse objResponse = JsonConvert.DeserializeObject <EncResponse>(result);
                objResponse.ResponseData = AesGcm256.Decrypt(objResponse.ResponseData);

                //objRes = JsonConvert.DeserializeObject<Reply>(objResponse.ResponseData);
                //DataContractJsonSerializer objDCS = new DataContractJsonSerializer(typeof(Reply));
                //MemoryStream objMS = new MemoryStream(Encoding.UTF8.GetBytes(objResponse.ResponseData));
                //result = (string)objDCS.ReadObject(objMS);

                Newtonsoft.Json.JsonSerializer json = new Newtonsoft.Json.JsonSerializer();
                json.NullValueHandling = NullValueHandling.Ignore;
                StringReader sr = new StringReader(objResponse.ResponseData);
                Newtonsoft.Json.JsonTextReader reader = new JsonTextReader(sr);
                result = json.Deserialize <string>(reader);

                if (result.Contains("true"))
                {
                    PageUtility.MessageBox(this, "Circle Created Successfully");
                }
                else
                {
                    PageUtility.MessageBox(this, "Circle Code Already Exist!");
                }
            }
            else
            {
                PageUtility.MessageBox(this, "Filed is empty ! Try again");
            }
        }
        catch (Exception ex)
        {
            PageUtility.MessageBox(this, "Catch Error : " + ex.Message.ToString());
        }
        finally
        {
            CL_txt_CircleCode.Text = CL_txt_CircleName.Text = "";
            CL_txt_CircleCode.Focus();
        }
    }